动态生成图像的WP_Download_url()

时间:2019-06-21 作者:Runnick

我正试图通过api(newsapi.org)从外部网站下载图像,并将其用作缩略图,使用wp_download_url. 虽然它不适用于所谓的动态生成的图像,例如。

https://res.cloudinary.com/demo/image/upload/w_400,h_400,c_crop,g_face,r_max/w_200/lady.jpg

有没有办法让它也获取这样的图像?

2 个回复
SO网友:ChristopherJones

如果对你有用的话,你可以用PHP下拉图像。您只需确保无论在何处“放置”图像,都需要具有写入权限。

我得到了下面的代码片段来处理您在上面放置的图像url。

// Remote image URL
$img_source = \'https://res.cloudinary.com/demo/image/upload/w_400,h_400,c_crop,g_face,r_max/w_200/lady.jpg\';

// Image path
// the tmp/ folder needs to have the correct write permissions.
$img_path = \'tmp/lady.jpg\';

// Save image 
$results = file_put_contents( $img_path, file_get_contents( $img_source ) );

// returns the number of bytes that were written to the file, or FALSE on failure.
echo \'<pre>\';
print_r($results);
echo \'</pre>\';

SO网友:Nicolai Grossherr

如果没有更多的信息,很难说出原因是什么,对于一个特定的答案,您可能希望显示您的代码。

以下内容将lady上传到媒体库:

$url = \'https://res.cloudinary.com/demo/image/upload/w_400,h_400,c_crop,g_face,r_max/w_200/lady.jpg\';
// $post_id = 0 to not attach to specific post
media_sideload_image( $url, 0 );
如果你在外面/wp-admin, 您需要:

require_once(ABSPATH . \'wp-admin/includes/media.php\');
require_once(ABSPATH . \'wp-admin/includes/file.php\');
require_once(ABSPATH . \'wp-admin/includes/image.php\');
有关更多信息,请参阅文档:

相关推荐

Use wget to find used images

我正在寻找方法来清理一个站点的图像目录,该站点已经被未使用的图像和缩略图超载。是否可以使用wget只下载站点上html页面引用的图像?我注意到可以浏览下载文件夹并查看列出的文件,所以我假设直接的wget-r将下载这些文件。如何使用wget,但不包括对上传目录进行爬网?