当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用php实现的获取网页中的图片并保存到本地的代码

PHP
php中目录,文件操作详谈
理解PHP5中static和const关键字的区别
php中支持多种编码的中文字符串截取函数!
关于BIG5-HKSCS的解决方法
自动生成文章摘要的代码[PHP 版本]
完美解决dedecms中的[html][/html]和[code][/code]问题
不错的dedecms修改实用集锦
PHP的分页功能
dedecms中显示数字验证码的修改方法
dedecms中常见问题修改方法总结
用PHP写的MySQL数据库用户认证系统代码
收集的PHP中与数组相关的函数
PHP中动态显示签名和ip原理
实现dedecms全站URL静态化改造的代码
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
在任意字符集下正常显示网页的方法一
在任意字符集下正常显示网页的方法二(续)
经典的PHPer为什么被认为是草根?
dedecms系统常用术语汇总
一篇入门的php Class 文章

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 246 ::
收藏到网摘: n/a

将网页中图片保存本地文件夹
复制代码 代码如下:

<?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("http://www.ruanchen.com");
?>