首頁 >php教程 >php手册 >php curl与fopen下载远程服务器图片实例

php curl与fopen下载远程服务器图片实例

WBOY
WBOY原創
2016-05-25 16:55:06775瀏覽
本文章来给大家介绍php curl与fopen下载远程服务器图片实例代码,有需要的朋友可参考。

fopen函数

 代码如下 复制代码

 function get_file($url,$folder,$pic_name){ 
  set_time_limit(24*60*60); //限制最大的执行时间
  $destination_folder=$folder?$folder.'/':''; //文件下载保存目录
  $newfname=$destination_folder.$pic_name;//文件PATH
  $file=fopen($url,'rb');
  
  if($file){   
   $newf=fopen($newfname,'wb');
   if($newf){    
    while(!feof($file)){     
     fwrite($newf,fread($file,1024*8),1024*8);
    }
   }
   if($file){    
    fclose($file);
   }
   if($newf){    
    fclose($newf);
   }
  }  
 } 
 get_file("/img/baidu_logo.gif","file","baidu.jpg");
?>

php curl函数

 代码如下 复制代码
/*
*功能: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;
}


开启php curl函数库的步骤

1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; /*用 echo phpinfo();查看php.ini的路径*/

2).把php5/libeay32.dll,ssleay32.dll复制到系统目录windows/下

3).重启apache



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn