小弟有一个php的站,本来程序没有rss自动ping百度的功能,但是我想加一个,于是从网上找了段代码如下:
<?php
function postUrl($url, $postvar)
{
    $ch = curl_init();
    $headers = array(
        “POST “.$url.” HTTP/1.0″,
        “Content-type: text/xml; charset=\”utf-8\”",
        “Accept: text/xml”,
        “Content-length: “.strlen($postvar)
    );
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
    $res = curl_exec ($ch);
    curl_close ($ch);
    return $res;
}$baiduXML = “<?xml version=\”1.0\” encoding=\”utf-8\”?>
   <methodCall>
   <methodName>weblogUpdates.extendedPing</methodName>
   <params>
   <param><value><string>$url</string></value></param>
   <param><value><string>$url</string></value></param>
   </params>
   </methodCall>”;
$res = postUrl(‘http://ping.baidu.com/ping/RPC2′, $baiduXML);
?>
然后....就没有然后了...
想问下各位大大,怎样才能最终实现这个RSS自动ping百度?求详细步骤,小弟是php菜鸟!

解决方案 »

  1.   

    首先把全角 “” 都改规范啦然后将$res输出,再看看什么状况
      

  2.   

    echo $res;
    就可得到返回的 xml 文档
    但因为传递的参数 $baiduXML 中缺少 $url 的值,返回的是一个测试文档
      

  3.   

    echo $res; 写在哪里 ?怎样才能看到输出的值?
      

  4.   

    然后呢 怎么看到输出的值?访问这个PHP文件吗?
      

  5.   

    报错啊 
    Parse error: syntax error, unexpected T_STRING, expecting ')' in /home/su9s2vftcr/domains/seowto.com/public_html/pingrss.php on line 6
      

  6.   

    你是用dreamweaver写的代码吗?
      

  7.   

    function postUrl($url, $postvar)
    {
        $ch = curl_init();
        $headers = array(
            "POST ".$url." HTTP/1.0",
            "Content-type: text/xml; charset=\”utf-8\"",
            "Accept: text/xml",
            "Content-length: ".strlen($postvar),
        );
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
        $res = curl_exec ($ch);
        curl_close ($ch);
        return $res;
    }$url = ''; //不知道这个值是什么
    $baiduXML = "<?xml version=\"1.0\” encoding=\"utf-8\"?>
       <methodCall>
       <methodName>weblogUpdates.extendedPing</methodName>
       <params>
       <param><value><string>$url</string></value></param>
       <param><value><string>$url</string></value></param>
       </params>
       </methodCall>";
    echo $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML);
    得到<?xml version="1.0" encoding="UTF-8"?>
    <methodResponse>
    <params>
    <param>
    <value>
    <int>1</int>
    </value>
    </param>
    </params>
    </methodResponse>
      

  8.   

    请教楼上这位大大,具体的怎么实现?是把PHP代码单独写成一个php文件然后放在跟目录吗,再访问这个文件就可以了吗?