я не могу увидеть свои опубликованные данные с помощью curl? - PullRequest
1 голос
/ 18 октября 2011

Я новичок в 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);
}

и другой код (который получают):

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

Я думаю, что это глупый вопрос, но я застрял и мне нужна помощь.

спасибо

1 Ответ

1 голос
/ 18 октября 2011

вместо

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

попробовать

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

Передав true в качестве второго аргумента, вы указываете print_r захватить (т.е. вернуть) вывод вместо его печати. ​​

В качестве альтернативы, вы можете использовать var_export($a, true) вместо print_r() (для другого представления; я упоминаю об этом только потому, что вы пытались использовать var_dump() изначально).

...