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

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

WBOY
WBOYOriginal
2016-05-25 16:55:06781browse
本文章来给大家介绍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



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn