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 ?>
  • 相关阅读:
    第04组 团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
    第一次结对编程作业
    第四组 团队展示
    第一次博客作业
    第09组 Alpha事后诸葛亮
    第09组 Alpha冲刺(6/6)
    2019 SDN上机第4次作业
    第09组 Alpha冲刺(5/6)
  • 原文地址:https://www.cnblogs.com/phpfans/p/3271906.html
Copyright © 2011-2022 走看看