用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 相关文章推荐
linux下为php添加curl扩展的方法
Jul 29 PHP
PHP中extract()函数的妙用分析
Jul 11 PHP
克隆一个新项目的快捷方式
Apr 10 PHP
深入php var_dump()函数的详解
Jun 05 PHP
基于PHP+Ajax实现表单验证的详解
Jun 25 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
php实现发送微信模板消息的方法
Mar 07 PHP
php微信公众平台开发类实例
Apr 01 PHP
PHP封装的Twitter访问类实例
Jul 18 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 PHP
Laravel框架处理用户的请求操作详解
Dec 20 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截取中文字符串的问题
2006/07/12 PHP
session 的生命周期是多长
2006/10/09 PHP
用PHP和ACCESS写聊天室(十)
2006/10/09 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
西雅图的买手店:Totokaelo
2019/10/19 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
销售高级职员求职信
2013/10/29 职场文书
团购业务员岗位职责
2014/03/15 职场文书
《忆江南》教学反思
2014/04/07 职场文书
学生检讨书范文
2015/01/27 职场文书
任命书标准格式
2015/03/02 职场文书