用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 相关文章推荐
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
PHP使用PHPMailer发送邮件的简单使用方法
Nov 12 PHP
php的sprintf函数的用法 控制浮点数格式
Feb 14 PHP
php删除数组元素示例分享
Feb 17 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
php截取html字符串及自动补全html标签的方法
Jan 15 PHP
cakephp打印sql语句的方法
Feb 13 PHP
php字符串函数学习之substr()
Mar 27 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP实现APP微信支付的实例讲解
Feb 10 PHP
PHP+MySQL实现消息队列的方法分析
May 09 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实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
smarty实现多级分类的方法
2014/12/05 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
Javascript 面向对象 重载
2010/05/13 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
JavaScript中window.open用法实例详解
2015/04/15 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
jquery事件的ready()方法使用详解
2015/11/11 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
浅谈Angular4实现热加载开发旅程
2017/09/08 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
Python和Sublime整合过程图示
2019/12/25 Python
Python Merge函数原理及用法解析
2020/09/16 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
国际贸易个人求职信范文
2014/01/04 职场文书
公司寄语大全
2014/04/10 职场文书
深度学习tensorflow基础mnist
2021/04/14 Python
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js
Django框架模板用法详解
2022/06/10 Python