我无法通过卷曲看到我发布的数据?

时间:2011-10-17 21:24:01

标签: php curl mediawiki

我只是新的php,curl我写了一个小的mediawiki扩展,发送最近的更改。问题是什么时候发送这个数据我试着把它写在一个文件中,但“1”只是出现我试图使用var_dump,但我的发送者代码没有变化:

$wgHooks['RecentChange_save'][] = 'sendto';
function sendto($recentChange){
    $serialized_data=serialize($recentChange);
    $con=curl_init();
    curl_setopt( $con, CURLOPT_HEADER, true );
    curl_setopt($con,CURLOPT_URL,"http://localhost/test.php");
    curl_setopt($ch,CURLOPT_POST,true);
    curl_setopt($con,CURLOPT_POSTFIELDS,"data={$serialized_data}");
    $result=curl_exec($con);
    if($result){
        return true ;
    }   
    else 
     return false ;
    curl_close($con);
}

,另一个代码是(recive):

 $a = unserialize($_POST['data']);
 $d=fopen("log.txt","w");
 fwrite($d,print_r($a));//only "1" is written
 fclose($d);

我认为这是一个愚蠢的问题,但我陷入困境并需要帮助。

谢谢

1 个答案:

答案 0 :(得分:1)

而不是

fwrite($d,print_r($a));

fwrite($d,print_r($a, true));

通过传递true作为第二个参数,指示print_r捕获(即返回)输出而不是打印输出。

或者,您可以使用var_export($a, true)代替print_r()(对于不同的代表;我只提及它,因为您最初尝试使用var_dump()。)