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

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?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("//www.jb51.net");
?>

相关文章

PHP setcookie设置Cookie用法(及设置无效的问题)

结果碰到一个问题,setcookie设置了Cookie并没有生效,在浏览器端也没有看到。查了一下,原来是setcookie是通过HTTP请求响应的Header来完成的,需要在请求响应内容...

php支付宝接口用法分析

本文实例讲述了php支付宝接口用法。分享给大家供大家参考。具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放...

php为字符串前后添加指定数量字符的方法

本文实例讲述了php为字符串前后添加指定数量字符的方法。分享给大家供大家参考。具体分析如下: 这段php代码定义了两个函数 str_prefix和str_suffix,分别用来给字符串前...

PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function

1、错误类型:PHP致命错误 Error type: PHP Fatal error Fatal error: Cannot redeclare (a) (previously decl...

超级实用的7个PHP代码片段分享

1、超级简单的页面缓存 如果你的工程项目不是基于 CMS 系统或框架,打造一个简单的缓存系统将会非常实在。下面的代码很简单,但是对小网站而言能切切实实解决问题。 复制代码 代码如下: &...