php 远程图片保存到本地的函数类


Posted in PHP onDecember 08, 2008

<?php
//
// Function: 获取远程图片并把它保存到本地
//
//
// 确定您有把文件写入本地服务器的权限
//
//
// 变量说明:
// $url 是远程图片的完整URL地址,不能为空。
// $filename 是可选变量: 如果为空,本地文件名将基于时间和日期
// 自动生成.
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("/upload/20081208002838680.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
配置支持SSI
Nov 25 PHP
常用的php对象类型判断
Aug 27 PHP
php生成略缩图代码
Jul 16 PHP
php中inlcude()性能对比详解
Sep 16 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
thinkphp模板继承实例简述
Nov 26 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
PDO的安全处理与事物处理方法
Oct 31 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
PHP 出现乱码和Sessions验证问题的解决方法!
Dec 06 #PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 #PHP
php 远程关机操作的代码
Dec 05 #PHP
php 清除网页病毒的方法
Dec 05 #PHP
php读取msn上的用户信息类
Dec 05 #PHP
php获取网页内容方法总结
Dec 04 #PHP
php smarty的预保留变量总结
Dec 04 #PHP
You might like
php中关于普通表单多文件上传的处理方法
2011/03/25 PHP
CI(CodeIgniter)框架介绍
2014/06/09 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
Python中的Numpy入门教程
2014/04/26 Python
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
2021/01/12 Python
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
国际贸易专业个人求职信格式
2014/02/02 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
行政工作试用期自我评价
2014/09/14 职场文书
依法行政工作汇报
2014/10/28 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
如何撰写促销方案?
2019/07/05 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
python中subplot大小的设置步骤
2021/06/28 Python