WordPress 技巧:使用 WP_Http 直接下载文件
前面我已经讲过了使用 WP_Http 在 WordPress 中发起 HTTP Request,但是如果是获取的是文件,需要保存到本地,怎么使用 WP_Http 处理呢?
WP_Http 支持 stream 模式,支持将远程的图片直接保存到本地,这种模式下有两个参数,一个开启 stream 模式,将 stream 参数设置为 true,然后通过 filename 参数来设置本地文件的路径,当然不设置的话,WP 默认会使用远程文件的文件名,并保存到 WP 临时文件夹下。
比如我们要获取 media_id 为 MEDIA_ID 的临时素材,并且保存到 $media_file 的路径:
$url = 'https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID';
wp_remote_get($url, array(
'stream' => true,
'filename' => $media_file
));