1

我正在尝试将数据从 Facebook 获取到电子表格中,并且我正在使用下面的代码,但是我遇到了一些问题:

PHP 警告:在第 27 行的 /opt/lampp/htdocs/xampp/tratajson.php 中为 foreach() 提供的参数无效

这是我的代码:

<?php 
  $arquivo = fopen('/filepath.csv','w');
  $request_url ="/filepath.json";
  $requests = file_get_contents($request_url);
  $fb_response = json_decode($requests);

  foreach ($fb_response->feed->data as $item)
  {
    $mensagem=trim($item->message);    
    $mensagem = str_replace(array("\r\n", "\r", "\n","(",")","chr(13)","\t", "\0", "\x0B"), "", $mensagem);   

    $quempostou=$item->from->name;  
    $data=$item->created_time;

    $ncomentarios=0;
    $nlikes=0;
    foreach ($item->comments as $comentarios)
    {
      $ncomentarios++;
      foreach ($comentarios as $comentario)
      {
        echo "Quem comentou:";
        echo $comentario->from->name;
        $comentou=$comentario->from->name;

        echo " Curtir:";
        echo $comentario->like_count;
        $curtidas=$comentario->likecount;
        $nlikes=$nlikes+$curtidas;

        echo " Data:";
        $datacomentario = $comentario->created_time;
        echo $datacomentario; 

        echo " Comentario:";  
        $comentario=$comentario->message;
                   $comentario = str_replace(array("\r\n", "\r", "\n","(",")"), "", $comentario);   
        echo $comentario;

         $grava="COMENTARIO:".";".$comentario.";".$comentou.";".$datacomentario.";".$curtidas."\n";

        fwrite($arquivo,$grava);

        echo "<br>";    
      }
    }

    echo "Quem postou: $quempostou <br>";
    echo "Mensagem: $mensagem <br>";
    echo "Data: $data <br>";
    echo "Comentarios: $ncomentarios <br>";
    echo "Likes na thread: $nlikes <br>"; 
    echo "<br><br>";

    $grava="POST:".";".$mensagem.";".$quempostou.";".$data.";".$ncomentarios.";".$nlikes."\n\n";
    fwrite($arquivo,$grava);
  }
  fclose($arquivo);
?>

$request_url 中请求的文件具有在页面提要的 FB Graph API 资源管理器中返回的 JSON 文件的结构:

有人能帮我吗?

4

1 回答 1

0

试着把这个$fb_response = json_decode($requests);改成这个$fb_response = json_decode($requests,true);

于 2013-10-08T05:12:17.853 回答