• 技术文章 >后端开发 >php教程

    php 远程图片保存到本地的函数类_php技巧

    2016-05-17 09:34:12原创409
    //
    // Function: 获取远程图片并把它保存到本地
    //
    //
    // 确定您有把文件写入本地服务器的权限
    //
    //
    // 变量说明:
    // $url 是远程图片的完整URL地址,不能为空。
    // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期
    // 自动生成.
    function GrabImage($url,$filename="") {
    if($url==""):return false;endif;
    if($filename=="") {
    $ext=strrchr($url,".");
    if($ext!=".gif" && $ext!=".jpg"):return false;endif;
    $filename=date("dMYHis").$ext;
    }
    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;
    }
    $img=GrabImage("/upload/20081208002838680.jpg","");
    if($img):echo '
    ';else:echo "false";endif;

    ?>dedecms中的: if(!empty($saveremoteimg))
    {
    $body = stripslashes($body);
    $img_array = array();
    preg_match_all("/(src|SRC)=[\"|'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array);
    $img_array = array_unique($img_array[2]);
    set_time_limit(0);
    $imgUrl = $img_dir."//m.sbmmt.com/m/".strftime("%Y%m%d",time());
    $imgPath = $base_dir.$imgUrl;
    $milliSecond = strftime("%H%M%S",time());
    if(!is_dir($imgPath)) @mkdir($imgPath,0777);
    foreach($img_array as $key =>$value)
    {
    $value = trim($value);
    $get_file = @file_get_contents($value);
    $rndFileName = $imgPath."//m.sbmmt.com/m/".$milliSecond.$key.".".substr($value,-3,3);
    $fileurl = $imgUrl."//m.sbmmt.com/m/".$milliSecond.$key.".".substr($value,-3,3);
    if($get_file)
    {
    $fp = @fopen($rndFileName,"w");
    @fwrite($fp,$get_file);
    @fclose($fp);
    }
    $body = ereg_replace($value,$fileurl,$body);
    }
    $body = addslashes($body);
    }
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 远程图片 保存
    上一篇:php2html php生成静态页函数_php技巧 下一篇:基于PHP实现简单的随机抽奖小程序_php实例
    PHP编程就业班

    相关文章推荐

    • PHP中如何读取CSV内容并存入一个数组中• 无数据库的详细域名查询程序PHP版(5)_PHP教程• 在线短消息收发的程序,不用数据库_PHP教程• PHP详细彻底学习Smarty_php技巧• [视频教程]PHP100视频教程57:PHP备份数据库原理和方法

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网