1

我正在尝试通过 API 并使用file_put_contentsphp 方法将 Instagram 图像保存在我的本地计算机上

我试过sleep()方法

ini_set('max_execution_time', 400);

$access_token = "";
$photo_count = 8;
$json_link = "https://api.instagram.com/v1/users/self/media/recent/?";
$json_link .="access_token={$access_token}&count={$photo_count}";

$json = file_get_contents($json_link);

$obj = json_decode(preg_replace('/("\w+"):(\d+)/', '\\1:"\\2"', $json), true);
$cnt = 1;

foreach ($obj['data'] as $post){
    $pic_text = $post['caption']['text'];
    $pic_link = $post['link'];
    $pic_like_count = $post['likes']['count'];
    $pic_comment_count=$post['comments']['count'];
    $pic_src=str_replace("http://", "https://", $post['images']['standard_resolution']['url']);
    $pic_created_time=date("F j, Y", $post['caption']['created_time']);
    $pic_created_time=date("F j, Y", strtotime($pic_created_time . " +1 days"));
    $img = $_SERVER['DOCUMENT_ROOT']."/assets/images/insta-images/".$cnt.".jpg";
    file_put_contents($img, file_get_contents($pic_src));
    $cnt++;
}

使用上面的代码,我的本地机器上只有 4 张图像成功保存,但我设置了照片计数 8,脚本只运行了 1 分钟。

我要保存至少8张图片

4

0 回答 0