php获取远程图片并把它保存到本地.docVIP

  • 3
  • 0
  • 约3.58千字
  • 约 6页
  • 2017-09-05 发布于浙江
  • 举报
php获取远程图片并把它保存到本地

php获取远程图片并把它保存到本地 例1 ?代码如下 复制代码 /* *功能:php多种方式完美实现下载远程图片保存到本地 *参数:文件url,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage($url,$filename=,$type=0){ ??? if($url==){return false;} ??? if($filename==){ ??????? $ext=strrchr($url,.); ??????? if($ext!=.gif $ext!=.jpg){return false;} ??????? $filename=time().$ext; ??? } ??? //文件保存路径? ??? if($type){ ??$ch=curl_init(); ??$timeout=5; ??curl_setopt($ch,CURLOPT_URL,$url); ??curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); ??curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); ??$img=curl_exec($ch); ??curl_close($ch); ??? }else{ ???? ob_start();? ???? readfile($url); ???? $img=ob_get_contents();? ???? ob_end_clean();? ??? } ??? $size=strlen($img); ??? //文件大小? ??? $fp2=@fopen($filename,a); ??? fwrite($fp2,$img); ??? fclose($fp2); ??? return $filename; } 例2 ?代码如下 复制代码 ?php // // Function: 获取远程图片并把它保存到本地 // // //?? 确定您有把文件写入本地服务器的权限 //?? // // 变量说明: // $url 是远程图片的完整URL地址,不能为空。 // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 // 自动生成. function GrabImage($url,$filename=) { ?? if($url==):return false;endif; ?? if($filename==) { ???? $ext=strrchr($url,.); ???? if($ext!=.gif $ext!=.jpg):return false;endif; ???? $filename=date(dMYHis).$ext; ?? } ?? ob_start(); ?? readfile($url); ?? $img = ob_get_contents(); ?? ob_end_clean(); ?? $size = strlen($img); ?? $fp2=@fopen($filename, a); ?? fwrite($fp2,$img); ?? fclose($fp2); ?? return $filename; } $img=GrabImage if($img):echo preimg src=.$img./pre;else:echo false;endif;?? ? dedecms中的: ? ?代码如下 复制代码 if(!empty($saveremoteimg)) ???????? { ???????????????? $body = stripslashes($body); ???????????????? $img_array = array(); ?????????????????preg_match_all(/(src|SRC)=[|| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU,$body,$img_array); ???????????????? $img_array = array_unique($img_array[2]); ???????????????? set_time_it(0); ???????????????? $imgUrl = $img_dir./.strftime(%Y%m%d,time()); ???????????????? $imgPath = $base_dir.$imgUrl; ???????????????? $milliSecond = strftime(%H%M%S,time()); ???????????

文档评论(0)

1亿VIP精品文档

相关文档