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

yipeiwu_com7年前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使用strip_tags()去除html标签仍有空白的解决方法

本文实例讲述了php使用strip_tags()去除html标签仍有空白的解决方法。分享给大家供大家参考,具体如下: $subject = strip_tags($newsRs['c...

UCenter Home二次开发指南

前言本文将就UCH二次开发这个核心主题,以各种实现的代码为主,辅助部分说明概略的讲解如何针对UCH进行二次开发。过段时间UCH就开源了,准备到时候再详细的写篇UCH机制分析。 顺便说下,...

php实现遍历文件夹的方法汇总

php 遍历 文件夹 ,不少时候还是很需要的 /*获取所有文件*/ function get_all_files( $path ){ $list = array(); for...

php使用GD实现颜色渐变实例

php使用GD实现颜色渐变实例

本文实例讲述了php使用GD实现颜色渐变的方法。分享给大家供大家参考。具体实现方法如下: <?php $im = imagecreate(255, 255); $bg...

PHP高级编程实例:编写守护进程

1.什么是守护进程 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。 例如 a...