Quick Fix 6 - PHP: Obtain http request data, obtain get data and post data, and convert between json strings and objects

WBOY
Release: 2016-07-29 08:50:58
Original
1003 people have browsed it

[Source code download]

Quick fix (6) - PHP: Get http request data, get get data and post data, and convert between json strings and objects


Author: webabcd
Introduction
Quick fix PHP

  • Get http request data
  • Get get data and post data
  • Conversion between json strings and objects


Example
1. Get http request data
http/http1.php

<?<span>php
</span><span>/*</span><span>*
 * 获取 http 请求数据
 </span><span>*/</span><span>//</span><span> 通过 $_SERVER 获取相关数据</span><span>echo</span> "PHP_SELF : " . <span>$_SERVER</span>['PHP_SELF'] . "<br />"<span>;
</span><span>echo</span> "GATEWAY_INTERFACE : " . <span>$_SERVER</span>['GATEWAY_INTERFACE'] . "<br />"<span>;
</span><span>echo</span> "SERVER_ADDR : " . <span>$_SERVER</span>['SERVER_ADDR'] . "<br />"<span>;
</span><span>echo</span> "SERVER_NAME : " . <span>$_SERVER</span>['SERVER_NAME'] . "<br />"<span>;
</span><span>echo</span> "SERVER_SOFTWARE : " . <span>$_SERVER</span>['SERVER_SOFTWARE'] . "<br />"<span>;
</span><span>echo</span> "SERVER_PROTOCOL : " . <span>$_SERVER</span>['SERVER_PROTOCOL'] . "<br />"<span>;
</span><span>echo</span> "REQUEST_METHOD : " . <span>$_SERVER</span>['REQUEST_METHOD'] . "<br />"<span>;
</span><span>echo</span> "REQUEST_TIME : " . <span>$_SERVER</span>['REQUEST_TIME'] . "<br />"<span>;
</span><span>echo</span> "REQUEST_TIME_FLOAT : " . <span>$_SERVER</span>['REQUEST_TIME_FLOAT'] . "<br />"<span>;
</span><span>echo</span> "QUERY_STRING : " . <span>htmlspecialchars</span>(<span>$_SERVER</span>['QUERY_STRING']) . "<br />"<span>;
</span><span>echo</span> "DOCUMENT_ROOT : " . <span>$_SERVER</span>['DOCUMENT_ROOT'] . "<br />"<span>;
</span><span>echo</span> "HTTP_ACCEPT : " . <span>$_SERVER</span>['HTTP_ACCEPT'] . "<br />"<span>;
</span><span>echo</span> "HTTP_ACCEPT_CHARSET : " . <span>$_SERVER</span>['HTTP_ACCEPT_CHARSET'] . "<br />"<span>;
</span><span>echo</span> "HTTP_ACCEPT_ENCODING : " . <span>$_SERVER</span>['HTTP_ACCEPT_ENCODING'] . "<br />"<span>;
</span><span>echo</span> "HTTP_ACCEPT_LANGUAGE : " . <span>$_SERVER</span>['HTTP_ACCEPT_LANGUAGE'] . "<br />"<span>;
</span><span>echo</span> "HTTP_CONNECTION : " . <span>$_SERVER</span>['HTTP_CONNECTION'] . "<br />"<span>;
</span><span>echo</span> "HTTP_HOST : " . <span>$_SERVER</span>['HTTP_HOST'] . "<br />"<span>;
</span><span>echo</span> "HTTP_REFERER : " . <span>$_SERVER</span>['HTTP_REFERER'] . "<br />"<span>;
</span><span>echo</span> "HTTP_USER_AGENT : " . <span>$_SERVER</span>['HTTP_USER_AGENT'] . "<br />"<span>;
</span><span>echo</span> "HTTPS : " . <span>$_SERVER</span>['HTTPS'] . "<br />"<span>;
</span><span>echo</span> "REMOTE_ADDR : " . <span>$_SERVER</span>['REMOTE_ADDR'] . "<br />"<span>;
</span><span>echo</span> "REMOTE_HOST : " . <span>$_SERVER</span>['REMOTE_HOST'] . "<br />"<span>;
</span><span>echo</span> "REMOTE_PORT : " . <span>$_SERVER</span>['REMOTE_PORT'] . "<br />"<span>;
</span><span>echo</span> "REMOTE_USER : " . <span>$_SERVER</span>['REMOTE_USER'] . "<br />"<span>;
</span><span>echo</span> "REDIRECT_REMOTE_USER : " . <span>$_SERVER</span>['REDIRECT_REMOTE_USER'] . "<br />"<span>;
</span><span>echo</span> "SCRIPT_FILENAME : " . <span>$_SERVER</span>['SCRIPT_FILENAME'] . "<br />"<span>;
</span><span>echo</span> "SERVER_ADMIN : " . <span>$_SERVER</span>['SERVER_ADMIN'] . "<br />"<span>;
</span><span>echo</span> "SERVER_PORT : " . <span>$_SERVER</span>['SERVER_PORT'] . "<br />"<span>;
</span><span>echo</span> "SERVER_SIGNATURE : " . <span>$_SERVER</span>['SERVER_SIGNATURE'] . "<br />"<span>;
</span><span>echo</span> "PATH_TRANSLATED : " . <span>$_SERVER</span>['PATH_TRANSLATED'] . "<br />"<span>;
</span><span>echo</span> "SCRIPT_NAME : " . <span>$_SERVER</span>['SCRIPT_NAME'] . "<br />"<span>;
</span><span>echo</span> "REQUEST_URI : " . <span>htmlspecialchars</span>(<span>$_SERVER</span>['REQUEST_URI']) . "<br />"<span>;
</span><span>echo</span> "PHP_AUTH_DIGEST : " . <span>$_SERVER</span>['PHP_AUTH_DIGEST'] . "<br />"<span>;
</span><span>echo</span> "PHP_AUTH_USER : " . <span>$_SERVER</span>['PHP_AUTH_USER'] . "<br />"<span>;
</span><span>echo</span> "PHP_AUTH_PW : " . <span>$_SERVER</span>['PHP_AUTH_PW'] . "<br />"<span>;
</span><span>echo</span> "AUTH_TYPE : " . <span>$_SERVER</span>['AUTH_TYPE'] . "<br />"<span>;
</span><span>echo</span> "PATH_INFO : " . <span>$_SERVER</span>['PATH_INFO'] . "<br />"<span>;
</span><span>echo</span> "ORIG_PATH_INFO : " . <span>$_SERVER</span>['ORIG_PATH_INFO'] . "<br />";
Copy after login


2. Get get data and post data
http/http2.php

<?<span>php
</span><span>/*</span><span>*
 * 获取 get 数据 和 post 数据
 </span><span>*/</span><span>//</span><span> 获取 url 参数(get 数据)</span><span>$params</span> = getQueryParams(<span>$_SERVER</span>['QUERY_STRING'<span>]);
</span><span>echo</span> "param1: " . <span>$params</span>["param1"<span>];
</span><span>echo</span> "<br />"<span>;
</span><span>echo</span> "param2: " . <span>$params</span>["param2"<span>];
</span><span>echo</span> "<br />"<span>;

</span><span>function</span> getQueryParams(<span>$query</span><span>)
{
    </span><span>$queryParts</span> = <span>explode</span>('&', <span>$query</span><span>);
    </span><span>$params</span> = <span>array</span><span>();
    </span><span>foreach</span> (<span>$queryParts</span><span>as</span><span>$param</span><span>)
    {
        </span><span>$item</span> = <span>explode</span>('=', <span>$param</span><span>);
        </span><span>$params</span>[<span>$item</span>[0]] = <span>$item</span>[1<span>];
    }
    </span><span>return</span><span>$params</span><span>;
}



</span><span>//</span><span> 通过 $_POST 获取 post 数据
// 判断 $_POST["btnSubmit"] 是否存在,如果存在则表示有 post 过来的 form</span><span>if</span>  (<span>isset</span>(<span>$_POST</span>["btnSubmit"<span>]))
{
    </span><span>if</span> (<span>empty</span>(<span>$_POST</span>['txtUsername'<span>]))
    {
        </span><span>echo</span> "您没有输入用户名"<span>;
        </span><span>exit</span>(0<span>);
    }

    </span><span>echo</span> "您的用户名: " . <span>$_POST</span>['txtUsername'] . ""<span>;
}
</span>?>

<form action="" method="post">
    <div>姓名:</div>
    <div><input type="text" name="txtUsername" value="wanglei" /></div>

    <div><input type="submit" name="btnSubmit" value="提交"/></div>
</form>
Copy after login


3. Get get data and post data
encode/json.php

<?<span>php
</span><span>/*</span><span>*
 * Created by PhpStorm.
 * User: wanglei
 * Date: 2015/12/30
 * Time: 9:45
 </span><span>*/</span><span>class</span><span> Name
{
    </span><span>public</span><span>$firstName</span><span>;
    </span><span>public</span><span>$lastName</span><span>;
}

</span><span>class</span><span> Student
{
    </span><span>public</span><span>$name</span><span>;

    </span><span>public</span><span>$number</span><span>;
    </span><span>public</span><span>$date1</span><span>;
    </span><span>public</span><span>$date2</span><span>;
}

</span><span>$jsonArray</span> = '<span>[
    {
        "name":{"firstName":"abc", "lastName":"xyz"},
        "number":1,
        "date1":"2015-12-30 10:00:48",
        "date2":1451440848
    },
    {
        "name":{"firstName":"lmn", "lastName":"rst"},
        "number":2,
        "date1":"2015-11-22 17:13:41",
        "date2":1448183621
    }
]</span>'<span>;

</span><span>//</span><span> 设置当前时区为东八时区(北京时区)</span>date_default_timezone_set("Etc/GMT-8"<span>);

</span><span>//</span><span> json 字符串转对象</span><span>$result</span> = <span>array</span><span>();
</span><span>$myArray</span> = json_decode(<span>$jsonArray</span>, <span>true</span><span>);
</span><span>$myArrayCount</span> = <span>count</span>(<span>$myArray</span><span>);
</span><span>for</span> (<span>$i</span> = 0; <span>$i</span> < <span>$myArrayCount</span>; <span>$i</span>++<span>)
{
    </span><span>$student</span> = <span>new</span><span> Student();
    </span><span>$student</span>-><span>number</span> = <span>$myArray</span>[<span>$i</span>]["number"<span>];
    </span><span>$student</span>->date1 = <span>$myArray</span>[<span>$i</span>]["date1"<span>];
    </span><span>$student</span>->date2 = <span>date</span>('Y-m-d H:i:s', <span>$myArray</span>[<span>$i</span>]["date2"<span>]);

    </span><span>$name</span> = <span>new</span><span> Name();
    </span><span>$jsonName</span> = <span>$myArray</span>[<span>$i</span>]["name"<span>];
    </span><span>$name</span>->firstName = <span>$jsonName</span>["firstName"<span>];
    </span><span>$name</span>->lastName = <span>$jsonName</span>["lastName"<span>];

    </span><span>$student</span>->name = <span>$name</span><span>;
    </span><span>$result</span>[] = <span>$student</span><span>;
}
</span><span>var_dump</span>(<span>$result</span><span>);

</span><span>//</span><span> 对象转 json 字符串</span><span>echo</span> json_encode(<span>$result</span><span>);
</span><span>echo</span> "<br />"<span>;

</span><span>echo</span> "<br />"<span>;


</span><span>//</span><span> 获取当前时间的时间戳(到 1970-1-1 的秒数)</span><span>echo</span><span>time</span><span>();
</span><span>echo</span> "<br />"<span>;

</span><span>//</span><span> 获取指定时间的时间戳(到 1970-1-1 的秒数)</span><span>echo</span><span>strtotime</span>("2015-12-30 16:00:10"<span>);
</span><span>echo</span> "<br />"<span>;

</span><span>//</span><span> 时间戳的格式化</span><span>echo</span><span>date</span>('Y-m-d H:i:s', <span>time</span><span>());
</span><span>echo</span> "<br />"<span>;

</span><span>//</span><span> 时间戳的格式化</span><span>echo</span><span>date</span>('Y-m-d H:i:s', 1460969676<span>);
</span><span>echo</span> "<br />";
Copy after login


OK
[Source code download]

The above introduces Quick Solution 6 - PHP: Obtain http request data, obtain get data and post data, and convert between json strings and objects, including aspects of the content. I hope friends who are interested in PHP tutorials can learn from it. help.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!