用php获取远程图片并把它保存到本地的代码


Posted in PHP onApril 07, 2008

<?php
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("http://news.bbc.co.uk/images/_1978837_detector_ap100.jpg","");
if($img):echo '<pre><img src="'.$img.'"></pre>';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."/".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."/".$milliSecond.$key.".".substr($value,-3,3);
                        $fileurl = $imgUrl."/".$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);
        }

PHP 相关文章推荐
在字符串中把网址改成超级链接
Oct 09 PHP
php 中文处理函数集合
Aug 27 PHP
php中获得视频时间总长度的另一种方法
Sep 15 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
标准PHP的AES加密算法类
Mar 12 PHP
php备份数据库类分享
Apr 14 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
php进程间通讯实例分析
Jul 11 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
php5.x禁用eval的操作方法
Oct 19 PHP
在php MYSQL中插入当前时间
Apr 06 #PHP
php读取30天之内的根据算法排序的代码
Apr 06 #PHP
PHP实现Socket服务器的代码
Apr 03 #PHP
mysql+php分页类(已测)
Mar 31 #PHP
PHP 数字左侧自动补0
Mar 31 #PHP
加强版phplib的DB类
Mar 31 #PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 #PHP
You might like
PHP判断是否有Get参数的方法
2014/05/05 PHP
php格式化json函数示例代码
2016/05/12 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
一个对于js this关键字的问题
2007/01/09 Javascript
How to Auto Include a Javascript File
2007/02/02 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
python插入排序算法实例分析
2015/07/03 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
在python中做正态性检验示例
2019/12/09 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
移动HTML5前端框架—MUI的使用
2017/12/18 HTML / CSS
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
航海技术专业毕业生求职信
2014/04/06 职场文书
团队激励口号
2014/06/06 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
优秀教师先进材料
2014/12/16 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
建党伟业观后感
2015/06/01 职场文书
实习报告怎么写
2019/06/20 职场文书
深入理解python协程
2021/06/15 Python
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏