Facebook にログオンし、すべての友達のリストと写真を表示する Web ページがあります。これらの写真をすべてダウンロードして、サーバー上の zip フォルダーにダウンロードしたいと考えています。各画像には一意の ID がありますが、順番にダウンロードして、1.jpg、2.jpg などの命名スキームで名前を変更する必要があります。
私はいくつかのことを試しましたが、何もうまくいきませんでした。最初に試しました:
$i = 1;
foreach ($friends["data"] as $value) {
$url = 'https://graph.facebook.com/' . $value["id"] . '/picture?type=large';
copy($url,"$i.jpg");
$i++;
}
これでうまくいったと思いましたが、画像を開こうとすると、すべて 0kb でした。また、簡単にダウンロードできるようにすべてのコンテンツを zip として保存することもできません。
次に、これを試しました:
$i=1;
foreach ($friends["data"] as $value) {
$fileName = '<img src="https://graph.facebook.com/' . $value["id"] . '/picture?type=large"/> <br />';
echo $fileName;
header("Content-Disposition: attachment; filename='".$fileName."'");
$target=$fileName;
$newName=$i.'jpg';
rename($target, $newName);
$i++;
}
しかし、これはエラーを出しました:
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/xxx.com/facebooksdk/facebook-php-sdk/examples/test.php:70) in /home/xxx0/public_html/xxx.com/facebooksdk/facebook-php-sdk/examples/test.php on line 138
Warning: rename(graph.facebook.com/xx/picture?type=large"/> <br />,1jpg) [function.rename]: No such file or directory in /home/xxx/public_html/xxx.com/facebooksdk/facebook-php-sdk/examples/test.php on line 141
この 2 番目のコードは、私が正しく書いていない可能性もありますが、助けていただければ幸いです。