网站地图    收藏   

主页 > php专栏 > php图像处理 >

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

来源:未知    时间:2014-11-27 23:03 作者:xxadmin 阅读:

[导读] 在php中我们经常使用写一些简单的采集功能,这样可以自动把远程服务器的图片或资源直接采集保存到本地服务器中,下面我来给大家详细介绍远程图片并把它保存到本地几种方法. 例1,代...

在php中我们经常使用写一些简单的采集功能,这样可以自动把远程服务器的图片或资源直接采集保存到本地服务器中,下面我来给大家详细介绍远程图片并把它保存到本地几种方法.

例1,代码如下:

  1. /* 
  2. *功能:php多种方式完美实现下载远程图片保存到本地 
  3. *参数:文件url,保存文件名称,使用的下载方式 
  4. *当保存文件名称为空时则使用远程文件原来的名称 
  5. */ 
  6. function getImage($url,$filename='',$type=0){ 
  7. //开源代码phpfensi.com 
  8.     if($url==''){return false;} 
  9.     if($filename==''){ 
  10.         $ext=strrchr($url,'.'); 
  11.         if($ext!='.gif' && $ext!='.jpg'){return false;} 
  12.         $filename=time().$ext
  13.     } 
  14.     //文件保存路径  
  15.     if($type){ 
  16.   $ch=curl_init(); 
  17.   $timeout=5; 
  18.   curl_setopt($ch,CURLOPT_URL,$url); 
  19.   curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
  20.   curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
  21.   $img=curl_exec($ch); 
  22.   curl_close($ch); 
  23.     }else
  24.      ob_start();  
  25.      readfile($url); 
  26.      $img=ob_get_contents();  
  27.      ob_end_clean();  
  28.     } 
  29.     $size=strlen($img); 
  30.     //文件大小  
  31.     $fp2=@fopen($filename,'a'); 
  32.     fwrite($fp2,$img); 
  33.     fclose($fp2); 
  34.     return $filename

例2,代码如下:

  1. <?php 
  2. // 
  3. // Function: 获取远程图片并把它保存到本地 
  4. // 
  5. // 
  6. //   确定您有把文件写入本地服务器的权限 
  7. //   
  8. // 
  9. // 变量说明: 
  10. // $url 是远程图片的完整URL地址,不能为空。 
  11. // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 
  12. // 自动生成. 
  13.  
  14. function GrabImage($url,$filename="") { 
  15.    if($url==""):return false;endif
  16.  
  17.    if($filename=="") { 
  18.      $ext=strrchr($url,"."); 
  19.      if($ext!=".gif" && $ext!=".jpg"):return false;endif
  20.      $filename=date("dMYHis").$ext
  21.    } 
  22.  
  23.    ob_start(); 
  24.    readfile($url); 
  25.    $img = ob_get_contents(); 
  26.    ob_end_clean(); 
  27.    $size = strlen($img); 
  28.  
  29.    $fp2=@fopen($filename"a"); 
  30.    fwrite($fp2,$img); 
  31.    fclose($fp2); 
  32.  

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论