用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 相关文章推荐
php常用Output和ptions/Info函数集介绍
Jun 19 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
浅谈php优化需要注意的地方
Nov 27 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
Smarty保留变量用法分析
May 23 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
PHP中大括号'{}'用法实例总结
Feb 08 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
php 输出缓冲 Output Control用法实例详解
Mar 03 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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
如何去掉文章里的 html 语法
2006/10/09 PHP
PHP截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
PHP 类型转换函数intval
2009/06/20 PHP
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
vue实现拖拽效果
2019/12/23 Javascript
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
python不换行之end=与逗号的意思及用途
2017/11/21 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
numpy中的高维数组转置实例
2018/04/17 Python
python实现最大优先队列
2019/08/29 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
禁止酒驾标语
2014/06/25 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
应届毕业生自荐信
2015/03/04 职场文书
七年级生物教学反思
2016/02/20 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python