用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 相关文章推荐
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
Sep 02 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
php 文本文件的读取效率
Feb 10 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
php include和require的区别深入解析
Jun 17 PHP
一个PHP的远程图片抓取函数分享
Sep 25 PHP
php stream_get_meta_data返回值
Sep 29 PHP
PHP连接MySQL的2种方法小结以及防止乱码
Mar 11 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
Sep 12 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
Feb 04 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
1 Tube Radio
2021/03/02 无线电
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
python定时器(Timer)用法简单实例
2015/06/04 Python
Python实现简单多线程任务队列
2016/02/27 Python
Python实现动态加载模块、类、函数的方法分析
2017/07/18 Python
简单实现python进度条脚本
2017/12/18 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
css3实现垂直下拉动画菜单示例
2014/04/22 HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
自荐信模版
2013/10/24 职场文书
入党综合考察材料
2014/06/02 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
民族学专业大学生职业规划范文:清晰未来的构想
2014/09/20 职场文书
防灾减灾标语
2014/10/07 职场文书
整改报告格式
2014/11/06 职场文书
导游带团欢迎词
2015/09/30 职场文书
先进党支部事迹材料2016
2016/02/26 职场文书
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers
python中filter,map,reduce的作用
2022/06/10 Python