用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
PHP5 字符串处理函数大全
Mar 23 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
Jun 24 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
Oct 16 PHP
ThinkPHP采用原生query实现关联查询left join实例
Dec 02 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
PHP使用socket发送HTTP请求的方法
Feb 14 PHP
postfixadmin忘记密码后的修改密码方法详解
Jul 20 PHP
php 输入输出流详解及示例代码
Aug 25 PHP
在laravel中实现将查询的对象转换为多维数组的函数
Oct 21 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
简单易用的计数器(数据库)
2006/10/09 PHP
PHP配置心得包含MYSQL5乱码解决
2006/11/20 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
纯文字版返回顶端的js代码
2013/08/01 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
详解nodejs异步I/O和事件循环
2017/06/07 NodeJs
node.js express中app.param的用法详解
2017/07/16 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
Python模块搜索路径代码详解
2018/01/29 Python
对python Tkinter Text的用法详解
2018/10/11 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
法国家具及室内配件店:home24
2017/01/21 全球购物
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
新员工欢迎词
2014/01/12 职场文书
村委会主任先进事迹
2014/01/15 职场文书
自动化专业职业生涯规划书范文
2014/01/16 职场文书
升学宴主持词
2014/04/02 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS