用php实现的获取网页中的图片并保存到本地的代码


Posted in PHP onJanuary 05, 2010
<?php 
header("Content-type:image/jpeg"); 
function read_url($str) 
{ 
$file=fopen($str,"r"); 
while(!feof($file)) 
{ 
$result.=fgets($file,9999); 
} 
fclose($file); 
return $result; } 
function save_img($str) 
{ 
$result=read_url($str); 
$result=str_replace("\"","",$result); 
$result=str_replace("\'","",$result); 
preg_match_all('/<img\ssrc=(http:\/\/.*?)(\s(.*?)>|>)/i',$result,$matches); 
foreach($matches[1] as $value) 
{ 
echo $value."<br>\n"; 
//GrabImage($value,$filename=""); 
} 
} 
// $url 是远程图片的完整URL地址,不能为空。 
// $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 
// 自动生成. 
function GrabImage($url,$filename="") { 
if($url==""):return false;endif; 
$path="download/"; //指定存储文件夹 
//若文件不存在,则创建; 
if(!file_exists($path)){ 
mkdir($path); 
} 
if($filename=="") { 
$ext=strrchr($url,"."); 
if($ext!=".gif" && $ext!=".jpg"):return false;endif; 
$filename=$path.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; 
} 
save_img("https://3water.com"); 
?>
PHP 相关文章推荐
判“新”函数:得到今天与明天的秒数
Oct 09 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
解析如何用php screw加密php源代码
Jun 20 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
CodeIgniter表单验证方法实例详解
Mar 03 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
php 获取xml接口数据的处理方法
May 31 PHP
用PHP查询搜索引擎排名位置的代码
Jan 05 #PHP
PHP 批量更新网页内容实现代码
Jan 05 #PHP
PHP 存储文本换行实现方法
Jan 05 #PHP
PHP 将图片按创建时间进行分类存储的实现代码
Jan 05 #PHP
PHP 采集获取指定网址的内容
Jan 05 #PHP
php 无极分类(递归)实现代码
Jan 05 #PHP
php 文件上传代码(限制jpg文件)
Jan 05 #PHP
You might like
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
PHP CURL使用详解
2019/03/21 PHP
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[01:11]辉夜杯战队访谈宣传片—CDEC.Y
2015/12/26 DOTA
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
Python编程实现蚁群算法详解
2017/11/13 Python
python机器学习理论与实战(四)逻辑回归
2018/01/19 Python
python二进制文件的转译详解
2019/07/03 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
python生成随机红包的实例写法
2019/09/02 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
怎样从/向数据文件读/写结构
2014/11/23 面试题
写出SQL四条最基本的数据操作语句(DML)
2012/12/12 面试题
县委务虚会发言材料
2014/10/20 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
pytorch 实现多个Dataloader同时训练
2021/05/29 Python