2020-11-01 / 6623阅
首先要保证这个图片是可以打开,我们可以访问,才可以下载。
要下载和保存图片。我们需要使用wordpress自带的HTTP API接口函数。
wp_remote_get(); //使用GET方式访问一个URL wp_remote_retrieve_header();//从获取的信息中,取出头部
第一步:下载图片到upload文件夹
$img_url ='https://youranzixue.cn/wp-content/uploads/2020/03/2.jpg'; $get = wp_remote_get($img_url); $type = wp_remote_retrieve_header($get, 'content-type'); $file_name = date('YmdHis') . mt_rand(1000, 9999) . '.jpg'; $file_content = wp_remote_retrieve_body($get); $mirror = wp_upload_bits($file_name, null, $file_content); var_dump($mirror);
第二步:添加到数据库和媒体库
$attachment = array( 'guid' => $mirror['url'], 'post_mime_type' => $type, 'post_title' => preg_replace('/\.[^.]+$/', '', $file_name), 'post_content' => '', 'post_status' => 'inherit' ); $attach_id = wp_insert_attachment($attachment, $mirror['file']);
第三步:给这个媒体库中的图片,添加一些属性,确保在后台媒体库中有缩略图
if ($attach_id) { require_once(ABSPATH . 'wp-admin/includes/image.php'); $attach_data = wp_generate_attachment_metadata($attach_id, $mirror['file']); wp_update_attachment_metadata($attach_id, $attach_data); return $attach_id; } else { return false; }
通过上面的三步,我们就可以完整的把一张图片添加到媒体库了。如果你不需要添加到媒体库,那么第一步执行完,就可以获得到图片的地址。
阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228