对于PHP来说 你发送的甭管什么格式的XML都是一堆文本

解决方案 »

  1.   

    是文本,但是怎么接收呢
    $_POST和$_GET都没有
      

  2.   

    $data = '';
    $fp = fopen('php://input', 'rb');
    while (!feof($fp)) {
    $data .= fread($fp, 1024);
    }
      

  3.   

    抱这个错误
    Warning: fopen("php://input", "rb") - Inappropriate ioctl for device
      

  4.   

    xmlhttp不也是通过post和get发的吗,open的时候不是要指定post还是get?
      

  5.   

    用HIDDEN类型的表单元素来传递。
      

  6.   

    <?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>
    编码需要转换
      

  7.   

    可惜我的PHP是4.2版本的
    file_get_contents需要4.3以上版本的支持
    没法测试
      

  8.   

    <?php
    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;
    }
    }
    ?>
      

  9.   

    楼上的朋友,谢谢你的帮忙用fopen上面有朋友已经提到过了
    后来我查了一下
    原来是php://input也是在php4.3以上版本才支持
    所以说这也不行啊
      

  10.   

    用这个 $HTTP_RAW_POST_DATA;
      

  11.   

    都进入php5时代了
    即使是php4也到了php4.4.1了
    还抱着php4.2.x不放,不知是何原因
      

  12.   

    楼楼上的依然不行
    我已经绝望了
    算了
    还是换思路吧我们现在是对以前开发的系统进行补充和完善
    不知道将php升级后对现有系统的冲击有多大
    所以也不敢贸然