|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
培训的第四阶段,就是应用PHP语言开发实际的程序。以结合实际的项目开发来进行学习,效果真的很好,在学习完之后就开始练习,能比较容易掌握所学的知识,这是学校的学习所没法比的。数据|成绩 文档版本
版本创立工夫创立人备注1.0.0606.12003-6-6郑 昀第一稿 Implementation Scope:
本文档将申明PHP页面吸收HTTP组件POST的数据成绩。普通来讲,POST过去的二进制数据流,只需求PHP用$HTTP_RAW_POST_DATA就能够吸收。然而,咱们碰到的情形却不是如许。 持续浏览之前,咱们假定您熟习以下常识:n PHPn MSXML2.ServerXMLHTTPn HTTP POST 景象
咱们碰到了这么一个成绩:我从Windows 2000上,使用MSXML2.ServerXMLHTTP接口向Linux Apche下的PHP页面POST二进制数据流。PHP页面的$HTTP_RAW_POST_DATA变量为空,得不到数据,并且sizeof($_POST)的值也是0。 然而,假如我一样向一个Windows 2000 IIS下的PHP页面POST数据,却可以用$HTTP_RAW_POST_DATA吸收到正常数据。为何两者有这类区分呢?情况信息
倡议HTTP POST恳求方・体系情况
Windows XP Professional(Service Pack 1)MSXML3.Dll(SP3 / 版本号:8.30.9926.0)挪用ServerXMLHTTP的代码是: MSXML2::IServerXMLHTTPRequestPtr pIXMLHttpRequest = NULL; HRESULT hr = pIXMLHttpRequest.CreateInstance("MSXML2.ServerXMLHTTP"); hr = pIXMLHttpRequest->open(L"POST", bstrPHPURL, VARIANT_FALSE, // 同步发送 vtMissing, vtMissing); hr = pIXMLHttpRequest->send(varData); 准确吸收POST恳求的PHP for MS Windows・体系情况
用$HTTP_RAW_POST_DATA正常吸收了数据的PHP for Windows装置信息:PHP Version 4.2.2SystemWindows NT 5.1 build 2600Server APICGI关于利用这个全局变量的相干设置:DirectiveLocal ValueMaster Valuealways_populate_raw_post_data00 没法吸收POST恳求的PHP for Linux・体系情况
没法用$HTTP_RAW_POST_DATA吸收POST数据的PHP for Linux装置信息:PHP Version 4.3.2RC3System Linux atm2 2.4.18-1 #1 Wed May 29 10:45:23 CST 2002 i686 Server API Apache Registered PHP Streams php, http, ftp 关于利用这个全局变量的相干设置:DirectiveLocal ValueMaster Valuealways_populate_raw_post_dataOnOn 更多信息
照理说,只需php.ini中界说了; Always populate the $HTTP_RAW_POST_DATA variable.always_populate_raw_post_data = On就完整可以用$HTTP_RAW_POST_DATA变量来吸收数据。最少$_POST变量是可以测算出POST到页面的数据巨细的。 我的确看到有几团体试图呈报“Empty $HTTP_RAW_POST_DATA”是一个PHP的Bug,然而PHP保护人员说一定不是。处理步调
不晓得Windows下的PHP 4.2.2怎样一向可以吸收。然而假如我显式声明Content-Type为file的话,Linux下的PHP 4.3.2RC3就能够正常吸收POST数据了。设置头信息的代码以下:hr = pIXMLHttpRequest->setRequestHeader( _bstr_t("Content-Type"), _bstr_t("file")); 如许做的话,PHP 4.2.2 for Windows和PHP 4.3.2RC3 for Linux都可以用$HTTP_RAW_POST_DATA吸收,没有成绩。 总结:
假如你的$HTTP_RAW_POST_DATA不在那儿了,你可以在挪用HTTP组件发送HTTP POST恳求时,指定Content-Type为file。 Disclaimers:
本文档所包括的信息代表了在宣布之日,zhengyun对所会商成绩确当前意见。本文档不该了解为zhengyun一方的许诺,zhengyun不包管所给信息在宣布之日今后的正确性。 本文档仅供参考。用户必需恪守一切合用的版权法。在不合错误版权法所划定的权力加以限制的情形下,如未失掉 zhengyun和CSDN.Net明白的书面允许,不得出于任何目标、以任何模式或手腕(电子的、机械的、影印、录制等等)复制、传布本文的任何局部,也不得将其存储或引入到检索体系中。 没有人会喜欢和见异思迁的人交朋友,因为这种人太不安分,太不可靠,因此,你必须要强迫自己完成自己的目标,哪怕可能会很难受,也得坚持,毅力就是这么锻炼出来的。 |
|