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

yipeiwu_com5年前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 网页过期时间的控制代码

当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since ....

php数组比较实现查找连续数的方法

本文实例讲述了php数组比较实现查找连续数的方法。分享给大家供大家参考。具体如下: $data = array(); $data[]= array("01" ,"02", "18"...

PHP中array_map与array_column之间的关系分析

本文以实例形式分析了PHP中array_map与array_column之间的关系,具体分析如下: array_map()与array_column()用法如下: array_map()...

PHP静态方法和静态属性及常量属性的区别与介绍

PHP中若使用static关键字来修饰属性、方法,称这些属性、方法为静态属性、静态方法。static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或...

asp和php下textarea提交大量数据发生丢失的解决方法

我用textarea提交大量的阿数据 我开始字段类型选的是mediumtext,数据有丢失 后来我改成了longtext,数据依然丢失, 而且发现和mediumtext提交到数据库中的数...