用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
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
PHP 命名空间实例说明
Jan 27 PHP
php数组合并与拆分实例分析
Jun 12 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
php简单实现批量上传图片的方法
May 09 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
Yii2中添加全局函数的方法分析
May 04 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
laravel 字段格式化 modle 字段类型转换方法
Sep 30 PHP
PHP常用header头定义代码示例汇总
Aug 29 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+jQuery实现自动补全功能源码
2013/05/15 PHP
jQuery 表格工具集
2010/04/25 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
2015/08/06 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
详解JavaScript函数
2015/12/01 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
Python随机生成彩票号码的方法
2015/03/05 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
详解Python中的动态属性和特性
2018/04/07 Python
python去除扩展名的实例讲解
2018/04/23 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
tornado+celery的简单使用详解
2019/12/21 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
pyspark 随机森林的实现
2020/04/24 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
C语言编程练习
2012/04/02 面试题
《寓言两则》教学反思
2014/02/27 职场文书
高中班主任评语大全
2014/04/25 职场文书
鼓舞士气的口号
2014/06/16 职场文书
党员个人年度总结
2015/02/14 职场文书
党员年终个人总结
2015/02/14 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
放牛班的春天观后感
2015/06/01 职场文书
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
Rust中的Struct使用示例详解
2022/08/14 Javascript