1

Facebook からのログインに使用される yii-facebook-opengraph という名前の拡張機能を使用しています。そして、バックエンドで詳細を取得してデータベースに保存しています。ここでもユーザー画像を取得しています。ユーザー画像をフォルダーに保存すると、画像は保存されますが、サイズは0kbです。

私が使用しているコードは以下のとおりです。

 $image = "http://graph.facebook.com/".$IsUser->social_key."/picture?type=normal";

    $img_file = file_get_contents($image);
    $file_loc = Yii::app()->basePath.'/../images/userimag/'.$IsUser->id.'.jpg';
    $file_handler=fopen($file_loc,'w');
    if(fwrite($file_handler,$img_file)==false){
          echo 'error';
    }
    fclose($file_handler);
    $model->profile_image = $IsUser->id.'.jpg';
    $model->save(false);

画像のURL $imageを印刷すると画像が取得されますが、$img_fileを印刷すると空と表示されます

4

1 に答える 1

1

allow_url_fopenに設定している場合、これを画像ファイルの保存に使用しますtrue

$url = "http://graph.facebook.com/".$IsUser->social_key."/picture?type=normal";
$img = Yii::app()->basePath.'/../images/userimag/'.$IsUser->id.'.jpg';
file_put_contents($img, file_get_contents($url));
于 2013-04-08T07:49:06.540 に答える