i漂泊

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3287|回复: 0

php获取远程图片并下载保存到本地

[复制链接]
TA的礼物信息
  • 收到:0
  • 送出:2
发表于 2014-5-5 16:45:11 | 显示全部楼层 |阅读模式
  1. /*
  2. *功能:php完美实现下载远程图片保存到本地
  3. *参数:文件url,保存文件目录,保存文件名称,使用的下载方式
  4. *当保存文件名称为空时则使用远程文件原来的名称
  5. */
  6. function getImage($url,$save_dir='',$filename='',$type=0){
  7.     if(trim($url)==''){
  8.                 return array('file_name'=>'','save_path'=>'','error'=>1);
  9.         }
  10.         if(trim($save_dir)==''){
  11.                 $save_dir='./';
  12.         }
  13.     if(trim($filename)==''){//保存文件名
  14.         $ext=strrchr($url,'.');
  15.         if($ext!='.gif'&&$ext!='.jpg'){
  16.                         return array('file_name'=>'','save_path'=>'','error'=>3);
  17.                 }
  18.         $filename=time().$ext;
  19.     }
  20.         if(0!==strrpos($save_dir,'/')){
  21.                 $save_dir.='/';
  22.         }
  23.         //创建保存目录
  24.         if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){
  25.                 return array('file_name'=>'','save_path'=>'','error'=>5);
  26.         }
  27.     //获取远程文件所采用的方法
  28.     if($type){
  29.                 $ch=curl_init();
  30.                 $timeout=5;
  31.                 curl_setopt($ch,CURLOPT_URL,$url);
  32.                 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  33.                 curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
  34.                 $img=curl_exec($ch);
  35.                 curl_close($ch);
  36.     }else{
  37.             ob_start();
  38.             readfile($url);
  39.             $img=ob_get_contents();
  40.             ob_end_clean();
  41.     }
  42.     //$size=strlen($img);
  43.     //文件大小
  44.     $fp2=@fopen($save_dir.$filename,'a');
  45.     fwrite($fp2,$img);
  46.     fclose($fp2);
  47.         unset($img,$url);
  48.     return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);
  49. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|IPiaoBo Inc. ( 渝ICP备17002826号 )

GMT+8, 2024-5-3 11:53 , Processed in 0.075614 second(s), 47 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表