php如何获取通过xmlhttp发送过来的xml 对于PHP来说 你发送的甭管什么格式的XML都是一堆文本 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是文本,但是怎么接收呢$_POST和$_GET都没有 $data = '';$fp = fopen('php://input', 'rb');while (!feof($fp)) { $data .= fread($fp, 1024);} 抱这个错误Warning: fopen("php://input", "rb") - Inappropriate ioctl for device xmlhttp不也是通过post和get发的吗,open的时候不是要指定post还是get? 用HIDDEN类型的表单元素来传递。 <?php$buffer = file_get_contents("php://input");if(!empty($buffer)){ echo $buffer; exit;}?><script>function loadXML(v){ var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP"); xmlHTTP.open("POST","test.php",false); xmlHTTP.setRequestHeader("Content-type","text/xml"); xmlHTTP.send(v); var s = xmlHTTP.responseBody; view.innerHTML = s; if(xmlHTTP.responseText.indexOf("error:")!=-1) { alert(xmlHTTP.responseText); }}</script><input type=button onclick="loadXML(this.value)" value="test1"><input type=button onclick="loadXML(this.value)" value="test2"><input type=button onclick="loadXML(this.value)" value="test3"><br>receive:<span id="view"></span>编码需要转换 可惜我的PHP是4.2版本的file_get_contents需要4.3以上版本的支持没法测试 <?phpif (!function_exists("file_get_contents")) { function file_get_contents($filename, $use_include_path = 0) { $file = @fopen($filename, "rb", $use_include_path); if ($file) { if ($fsize = @filesize($filename)) { $data = fread($file, $fsize); } else { $data = ""; while (!feof($file)) $data .= fread($file, 1024); } fclose($file); } return $data;}}?> 楼上的朋友,谢谢你的帮忙用fopen上面有朋友已经提到过了后来我查了一下原来是php://input也是在php4.3以上版本才支持所以说这也不行啊 用这个 $HTTP_RAW_POST_DATA; 都进入php5时代了即使是php4也到了php4.4.1了还抱着php4.2.x不放,不知是何原因 楼楼上的依然不行我已经绝望了算了还是换思路吧我们现在是对以前开发的系统进行补充和完善不知道将php升级后对现有系统的冲击有多大所以也不敢贸然 网站更换的问题 后台的list页面,在顺序里点向上就上移一位,点下降就下降一位,然后前台也同时变化,这个怎么实现的? php创建进程的疑惑(pcntl_fork),求解答 php与mysql连接过程中出现这样的错误 请教一个radio的缺省值的问题 addslashes()处理大家是如何做的? 各位我这样写Smarty有问题吗 哪位知道沈阳PHP程序员试用期,转正之后大约多少钱呢? 初学php轻指点一些小问题!!! 大家好,能看一看以下程序吗?值得一看,帮帮忙。在线等待。 菜鸟求问基础问题 请教如何隐藏php, phtml等标示
$_POST和$_GET都没有
$fp = fopen('php://input', 'rb');
while (!feof($fp)) {
$data .= fread($fp, 1024);
}
Warning: fopen("php://input", "rb") - Inappropriate ioctl for device
$buffer = file_get_contents("php://input");
if(!empty($buffer))
{
echo $buffer;
exit;
}
?><script>
function loadXML(v)
{
var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.open("POST","test.php",false);
xmlHTTP.setRequestHeader("Content-type","text/xml"); xmlHTTP.send(v);
var s = xmlHTTP.responseBody;
view.innerHTML = s;
if(xmlHTTP.responseText.indexOf("error:")!=-1)
{
alert(xmlHTTP.responseText);
}
}</script>
<input type=button onclick="loadXML(this.value)" value="test1">
<input type=button onclick="loadXML(this.value)" value="test2">
<input type=button onclick="loadXML(this.value)" value="test3"><br>
receive:<span id="view"></span>
编码需要转换
file_get_contents需要4.3以上版本的支持
没法测试
if (!function_exists("file_get_contents"))
{
function file_get_contents($filename, $use_include_path = 0)
{
$file = @fopen($filename, "rb", $use_include_path);
if ($file)
{
if ($fsize = @filesize($filename))
{
$data = fread($file, $fsize);
}
else
{
$data = "";
while (!feof($file)) $data .= fread($file, 1024);
}
fclose($file);
}
return $data;
}
}
?>
后来我查了一下
原来是php://input也是在php4.3以上版本才支持
所以说这也不行啊
即使是php4也到了php4.4.1了
还抱着php4.2.x不放,不知是何原因
我已经绝望了
算了
还是换思路吧我们现在是对以前开发的系统进行补充和完善
不知道将php升级后对现有系统的冲击有多大
所以也不敢贸然