我正在使用instagram PHP 抓取工具每天一次从 Instagram 获取一些图像,现在我想将它们保存到 WP 以符合新的 Instagram API“跨域资源策略:同源”限制。
不幸的是,下载图像对我来说似乎是个问题。我得到这样的 URL:
应该只是保存 jpg 但不幸的是 file_get_contents 返回一个空文件。
我目前正在使用此代码:
$imagetype = end(explode('/', getimagesize($imageurl)['mime']));
$uniq_name = date('dmY').''.(int) microtime(true);
$filename = $uniq_name.'.'.$imagetype;
$uploaddir = wp_upload_dir();
$uploadfile = $uploaddir['path'] . '/' . $filename;
$contents= file_get_contents($imageurl);
$savefile = fopen($uploadfile, 'w');
fwrite($savefile, $contents);
fclose($savefile);
$wp_filetype = wp_check_filetype(basename($filename), null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => $filename,
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $uploadfile );
$imagenew = get_post( $attach_id );
$fullsizepath = get_attached_file( $imagenew->ID );
$attach_data = wp_generate_attachment_metadata( $attach_id, $fullsizepath );
wp_update_attachment_metadata( $attach_id, $attach_data );
$this->conlog(wp_get_attachment_url($attach_id));
return wp_get_attachment_url($attach_id);
$imagetype 也是空的,因为 getimagesize()['mime'] 是空的。
我真的不知道如何下载图像,因为我不太熟悉 PHP。你知道如何最好地存档吗?非常感谢!