This article mainly shares with you how PHP can capture remote pictures and save them locally. Recently, I need to develop a user material function at work, which needs to locally store various picture materials on the Internet. So I found some relevant information on the Internet, and sorted out the main logic code according to my own development needs.
/** * PHP将网页上的图片攫取到本地存储 * @param $imgUrl 图片url地址 * @param string $saveDir 本地存储路径 默认存储在当前路径 * @param null $fileName 图片存储到本地的文件名 * @return mix */ function crabImage($imgUrl, $saveDir='./', $fileName=null){ if(empty($imgUrl)){ return false; } //获取图片信息大小 $imgSize = getImageSize($imgUrl); if(!in_array($imgSize['mime'],array('image/jpg', 'image/gif', 'image/png', 'image/jpeg'),true)){ return false; } //获取后缀名 $_mime = explode('/', $imgSize['mime']); $_ext = '.'.end($_mime); if(empty($fileName)){ //生成唯一的文件名 $fileName = uniqid(time(),true).$_ext; } //开始攫取 ob_start(); readfile($imgUrl); $imgInfo = ob_get_contents(); ob_end_clean(); if(!file_exists($saveDir)){ mkdir($saveDir,0777,true); } $fp = fopen($saveDir.$fileName, 'a'); $imgLen = strlen($imgInfo); //计算图片源码大小 $_inx = 1024; //每次写入1k $_time = ceil($imgLen/$_inx); for($i=0; $i<$_time; $i++){ fwrite($fp,substr($imgInfo, $i*$_inx, $_inx)); } fclose($fp); return array('file_name'=>$fileName,'save_path'=>$saveDir.$fileName); } $url = 'https://mmbiz.qlogo.cn/mmbiz/7WQtTI9h56hgvOH8J0Xp5v97cDNOxf94vq0NdNOhZmb2ZiaJLfwd2U8gNoEvTQXdWlRPOuibkkSebexmR2epE0pQ/0?wx_fmt=gif'; //$url = 'http://www.phpernote.com/images/logo.gif'; //$url = 'http://avatar.csdn.net/5/3/6/1_u014236259.jpg'; var_dump( crabImage($url) );
The above code has been tested in my work and can basically be used. If there are any questions, please correct me!
Related recommendations:
PHP tutorial to capture remote images
php function to capture remote images to local
How to implement PHP to grab remote images and save them as
The above is the detailed content of How to grab remote images and save them locally with PHP. For more information, please follow other related articles on the PHP Chinese website!