php获取网页中图片并保存到本地

编程语言
0 207

csroad
csroad 举报
04月04日 20:29

php获取网页中图片并保存到本地 

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."
\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.wzb.pub"); ?>