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
php面向对象全攻略 (三)特殊的引用“$this”的使用
Sep 30 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
php生成图片验证码的方法
Apr 15 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
Aug 11 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
PHP实现的ID混淆算法类与用法示例
Aug 10 PHP
CI框架附属类用法分析
Dec 26 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
在Laravel 中实现是否关注的示例
Oct 22 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防止跨域提交表单
2013/11/01 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
fetch 使用及如何接收JS传值
2017/11/11 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
js里面的变量范围分享
2020/07/18 Javascript
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
药学专业个人自我评价
2013/11/11 职场文书
幼儿园家长会欢迎词
2014/01/09 职场文书
二年级小学生评语
2014/04/21 职场文书
迁户口计划生育证明
2014/10/19 职场文书
离婚协议书范本2014
2014/10/27 职场文书
优秀教师事迹材料
2014/12/15 职场文书
上班迟到检讨书
2015/05/06 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python