用php实现的获取网页中的图片并保存到本地的代码
2018-09-07 22:14
复制代码 代码如下:
<?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(//
?>
上一篇:php实现多维数组排序的方法示例
下一篇:PHP 文件缓存的性能测试