用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 相关文章推荐
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
Jul 09 PHP
BBS(php &amp; mysql)完整版(五)
Oct 09 PHP
DISCUZ 分页代码
Jan 02 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
PHP Class&amp;Object -- 解析PHP实现二叉树
Jun 25 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
php静态文件返回304技巧分享
Jan 06 PHP
PHP在线调试执行的实现方法(附demo源码)
Apr 28 PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 PHP
PHP实现打包下载文件的方法示例
Oct 07 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
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
实现PHP搜索加分页
2016/10/12 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
javascript 类定义的4种方法
2009/09/12 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
python采集博客中上传的QQ截图文件
2014/07/18 Python
python将文本转换成图片输出的方法
2015/04/28 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
信息管理员岗位职责
2013/12/01 职场文书
创意活动策划书
2014/01/15 职场文书
QQ空间主人寄语大全
2014/04/12 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
家庭经济困难证明
2015/06/23 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
礼貌问候语大全
2015/11/10 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python