最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > php教程

PHP开发中的POST方式

日期:10-10    来源:中国设计秀    作者:cnwebshow.com

对比表单POST和fsockopen提交两种不同方式的区别。SSV中国设计秀

表单POST方式提交情况下SSV中国设计秀
SSV中国设计秀
$_POST 与 php://input可以取到值,$HTTP_RAW_POST_DATA 为空SSV中国设计秀
$_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换。SSV中国设计秀
php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据SSV中国设计秀
SSV中国设计秀
php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。SSV中国设计秀
SSV中国设计秀
fsockopen提交POST数据SSV中国设计秀
例:SSV中国设计秀

$sock = fsockopen("localhost", 80, $errno, $errstr, 30);SSV中国设计秀
if (!$sock) die("$errstr ($errno)n");SSV中国设计秀
$data = "txt=" . urlencode("中") . "&bar=" . urlencode("Value for Bar");SSV中国设计秀
fwrite($sock, "POST /posttest/response.php HTTP/1.0rn");SSV中国设计秀
fwrite($sock, "Host: localhostrn");SSV中国设计秀
fwrite($sock, "Content-type: application/x-www-form-urlencodedrn");SSV中国设计秀
fwrite($sock, "Content-length: " . strlen($data) . "rn");SSV中国设计秀
fwrite($sock, "Accept: */*rn");SSV中国设计秀
fwrite($sock, "rn");SSV中国设计秀
fwrite($sock, "$datarn");SSV中国设计秀
fwrite($sock, "rn");SSV中国设计秀
$headers = "";SSV中国设计秀
while ($str = trim(fgets($sock, 4096)))SSV中国设计秀
     $headers .= "$strn";SSV中国设计秀
echo "n";SSV中国设计秀
$body = "";SSV中国设计秀
while (!feof($sock))SSV中国设计秀
     $body .= fgets($sock, 4096);SSV中国设计秀
fclose($sock);SSV中国设计秀
echo $body;SSV中国设计秀
 SSV中国设计秀

与(一)结果一致SSV中国设计秀
SSV中国设计秀
结论:SSV中国设计秀
1. 用php://input可以很便捷的取到原始POST数据SSV中国设计秀
SSV中国设计秀
2. $HTTP_RAW_POST_DATA 仅在POST的Content-Type类型不为PHP识别时才有效SSV中国设计秀
SSV中国设计秀
如通常通过页面表单提交后的POST数据,不能通过$HTTP_RAW_POST_DATA提取到。因其编码类型属性(enctype属性)为 application/x-www-form-urlencoded、multipart/form-data。SSV中国设计秀
SSV中国设计秀
注:即使在页面内显性地改变enctype属性为PHP不可识别的类型,仍无效。SSV中国设计秀
因表单提交编码属性是表单限定,不可识别的类型将被认为按默认编码方式提交(即application/x-www-form-urlencoded)SSV中国设计秀
SSV中国设计秀
3. $_POST仅当数据按 application/x-www-form-urlencoded 类型提交时才能得到。SSV中国设计秀

本文引用地址:/bc/article_58222.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明