用php获取远程图片并把它保存到本地的代码

更新时间:2008年04月07日 20:43:26   作者:

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("http://news.bbc.co.uk/images/_1978837_detector_ap100.jpg","");

if($img):echo '

';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数据库的具体实现,需要的朋友可以参考下2014-03-03

这篇文章主要介绍了PHP的Yii框架中日志的相关配置及使用,包括bug追踪以及数据库查询耗时记录等,需要的朋友可以参考下2015-12-12

这篇文章主要介绍了php+Ajax处理xml与json格式数据的方法,结合实例形式分析了ajax处理xml格式数据及json格式数据相关操作技巧与注意事项,需要的朋友可以参考下2019-03-03

本篇文章主要是对php初始化对象和析构函数的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助2014-03-03

这篇文章主要介绍了php实现斐波那契数列的简单写法,需要的朋友可以参考下2014-07-07

这篇文章主要介绍了php实现基于PDO的预处理,结合实例形式分析了php实现pdo预处理的相关操作技巧与注意事项,需要的朋友可以参考下2017-03-03

这篇文章主要介绍了php根据年月获取当月天数及日期数组的方法,涉及php针对日期的相关判断、转换及字符与数组的遍历操作相关技巧,需要的朋友可以参考下2016-11-11

这篇文章主要介绍了10个实用的PHP正则表达式汇总,非常具有实用价值,需要的朋友可以参考下2014-10-10

这篇文章主要介绍了php ajax实现文件上传进度条的相关资料,需要的朋友可以参考下2016-03-03

php空间不支持socket但支持curl时recaptcha的用法,需要的朋友可以参考下。2011-11-11

最新评论

php如何接收ap端上传的图片_用php获取远程图片并把它保存到本地的代码相关推荐

  1. java图片加水印上传工具类_基于Spring Boot实现图片上传/加水印一把梭操作

    文章共537字,阅读大约需要 2分钟 ! 概述 很多网站的图片为了版权考虑都加有水印,尤其是那些图片类网站.自己正好最近和图片打交道比较多,因此就探索了一番基于 Spring Boot这把利器来实现从 ...

  2. 服务器下传Android端,本地Tomcat服务器接收android端上传的数据

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 大体描述 android端提交账号和密码,Tomcat服务器端会接收到,eclipse的控制台输出得到的账号和密码. T ...

  3. django后台接收form-data 格式上传的文件

    1,浏览器端端js程序 浏览器以from-data表单的格式上传文件. 2,django后端处理程序 接收来自浏览器上传的文件,并把文件存储在一指定的路径下. product_id = request ...

  4. Android 本地tomcat服务器接收处理手机上传的数据之案例演示

    上一篇:Android 本地tomcat服务器接收处理手机上传的数据之环境搭建     本篇基于上一篇搭建的服务器端环境,具体介绍Android真机上传数据到tomcat服务器的交互过程   场景:A ...

  5. vue 移动端头像裁剪_移动端 上传头像 并裁剪功能(h5)

    移动端头像图片上传裁剪 .button { outline: 0; display: inline-block; margin-bottom: 0; font-weight: 400; text-al ...

  6. java上传音频到服务器_Java 客户端向服务端上传mp3文件数据的实例代码

    客户端: package cn.itcast.uploadpicture.demo; import java.io.BufferedInputStream; import java.io.FileIn ...

  7. TCP:利用Socket编程技术实现客户端向服务端上传一个图片。

    问题: 利用Socket编程技术实现客户端向服务端上传一个图片的程序. 客户端: import java.io.*; import java.net.Socket;public class clien ...

  8. 移动端上(传图片太大)处理方案

    利用FileReader和FormData实现图片预览和上传(base64转二进制文件) 监听表单文件变化 文件表单的样式主要通过让它后面,通过别的DOM来美化它. <input type=&q ...

  9. vue2移动端上传,预览,压缩图片,解决拍照旋转问题

    https://github.com/exif-js/exif-js http://code.ciaoca.com/javascript/exif-js/demo/ 因为最近遇到个移动端上传头像的需求 ...

最新文章

  1. 通过SSIS的“查找”组件进行不同数据源之间数据的合并操作
  2. 黑马Python + 人工智能学习笔记
  3. mysql session 数_查询数据库当前连接数(session),进程数等操作
  4. C#获取本机名及IP地址
  5. NEERC 17 Problem I. Interactive Sort
  6. Linux (Ubuntu/CentOS) 添加用户并授予sudo的权限
  7. centos7 + python 2.7 + pip + openvswitch 杂项问题
  8. ap计算机科学ab,AP微积分AB_AP科目介绍|AP考试网
  9. hexo matery 相册 视频相册 相册加密 描述备注
  10. vb.net中如何结束一个线程
  11. 详解动态代理及其实现原理
  12. 第九届蓝桥杯国赛 调手表
  13. 响应式Web设计在跨终端广告创意中的应用
  14. 【UVa 12304】2D Geometry 110 in 1! (计算几何、圆)
  15. 视觉SLAM十四讲笔记-第四讲 李群与李代数
  16. CCNA-思科网络 EIGRP(增强内部网关路由协议)
  17. 用音响里的零件做迷你小机器人_优必选和腾讯一起做了款人形机器人,搭载“小微”的它想比智能音箱更好用...
  18. SpringBoot JPA多对一 持久化是报错object references an unsaved transient instance - save the transient instanc
  19. 数据库--数据备份与恢复
  20. IE主页无法修改的办法

热门文章

  1. php系统发布_用PHP制作新闻发布系统
  2. JTS-Coordinate工厂使用说明(十一)
  3. 基于国产龙芯 CPU 的气井工业网关研究与设计(一)
  4. 久久网络收藏夹_三木_新浪博客
  5. c++中“::”和“:”啥意思
  6. 问题解决:Java解压文件时报错:MALFORMED
  7. 微信小程序(返回顶部功能)
  8. 斐讯K1 PSG1208刷华硕AC54U【转
  9. ValueError: embedded null character 和 FileNotFoundError: [Errno 2] No such file or directory 错误处理
  10. U盘做启动盘之后容量变小了,咋办呢?