zoukankan      html  css  js  c++  java
  • php获取远程图片并把它保存到本地

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

    例二

     1 <?php
     2 //
     3 // Function: 获取远程图片并把它保存到本地
     4 //
     5 //
     6 //   确定您有把文件写入本地服务器的权限
     7 //  
     8 //
     9 // 变量说明:
    10 // $url 是远程图片的完整URL地址,不能为空。
    11 // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期
    12 // 自动生成.
    13 function GrabImage($url,$filename="") {
    14    if($url==""):return false;endif;
    15    if($filename=="") {
    16      $ext=strrchr($url,".");
    17      if($ext!=".gif" && $ext!=".jpg"):return false;endif;
    18      $filename=date("dMYHis").$ext;
    19    }
    20    ob_start();
    21    readfile($url);
    22    $img = ob_get_contents();
    23    ob_end_clean();
    24    $size = strlen($img);
    25    $fp2=@fopen($filename, "a");
    26    fwrite($fp2,$img);
    27    fclose($fp2);
    28    return $filename;
    29 }
    30 
    31 $img=GrabImage("http://www.111cn.net","");
    32 if($img):echo '<pre><img src="'.$img.'"></pre>';else:echo "false";endif;  
    33 ?>
  • 相关阅读:
    Samba 4.0 RC3 发布
    SymmetricDS 3.1.7 发布,数据同步和复制
    Express.js 3.0 发布,Node.js 的高性能封装
    GIFLIB 5.0.1 发布,C语言的GIF处理库
    jQuery UI 1.9.1 发布
    SVN Access Manager 0.5.5.14 发布 SVN 管理工具
    DynamicReports 3.0.3 发布 Java 报表工具
    HttpComponents HttpClient 4.2.2 GA 发布
    AppCan 2.0 正式发布,推移动应用云服务
    Ruby 2.0 的新功能已经冻结
  • 原文地址:https://www.cnblogs.com/phpfans/p/3271906.html
Copyright © 2011-2022 走看看