用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 相关文章推荐
smarty section简介与用法分析
Oct 03 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 PHP
php基于dom实现读取图书xml格式数据的方法
Feb 03 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
PHP获取MySQL执行sql语句的查询时间方法
Aug 21 PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 29 PHP
php实现根据身份证获取精准年龄
Feb 26 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
yii添删改查实例
2015/11/16 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
laravel入门知识点整理
2020/09/15 PHP
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
Python中itertools模块用法详解
2014/09/25 Python
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
python之生产者消费者模型实现详解
2019/07/27 Python
Python中函数的返回值示例浅析
2019/08/28 Python
postman传递当前时间戳实例详解
2019/09/14 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
Python for循环及基础用法详解
2019/11/08 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
C#面试题
2016/05/06 面试题
勤俭节约倡议书
2014/04/14 职场文书
校园文化标语
2014/06/18 职场文书
司考复习计划
2015/01/19 职场文书
新员工入职欢迎词
2015/01/23 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
Redis 限流器
2022/05/15 Redis