用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的控制语句
Oct 09 PHP
第三节--定义一个类
Nov 16 PHP
如何用php获取程序执行的时间
Jun 09 PHP
使用php统计字符串中中英文字符的个数
Jun 23 PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
php通过各种函数判断0和空
Jul 04 PHP
PHP信号处理机制的操作代码讲解
Apr 19 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 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 file_get_contents设置超时处理方法
2013/09/30 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
Symfony模板的快捷变量用法实例
2016/03/17 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
java解析json方法总结
2019/05/16 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
js 单引号 传递方法
2009/06/22 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
js实现文件上传表单域美化特效
2015/11/02 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
使用Vue.observable()进行状态管理的实例代码详解
2019/05/26 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
python基础教程之对象和类的实际运用
2014/08/29 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
如何把python项目部署到linux服务器
2020/08/26 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
高中教师评语大全
2014/04/25 职场文书
教师节倡议书
2014/08/30 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
代办出身证明书
2014/10/21 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
2015年度保密工作总结
2015/04/24 职场文书
全国助残日活动总结
2015/05/11 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
数据设计之权限的实现
2022/08/05 MySQL