关于博客文章图片外链接的备份 - JunMo博客

JunMo的博客

2019
记录生活
首页 » 闲言碎语 » 关于博客文章图片外链接的备份

关于博客文章图片外链接的备份

前言

因为博客的图片都是外链,如果有一天炸了就很麻烦,所以就搞了一个备份的

思路 读取文章源码获取其中img标签的src值 然后提取出其中链接为htpps的图片url,萌新一个大佬看了别喷。

可能只适用于我的博客.

效果

代码

注意事项如果图片过多或者加载过慢任意超时要把php.ini 里面的max_execution_time = 参数设置大一点

<?php

/**
*获取文件后缀名
**/
function getSuffix($filename)
{
   $str = strrev($filename);
   return strrev(strchr($str,'.',true));
}

/**
*下载图片
*/
function GrabImage($url,$filepath,$filename="") {
	
if($url=="") return false;

$ext=strrchr($url,".");
if($filename=="") {
if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false;
$filename=date("YmdHis");
}

ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img); // 图片大小

!is_dir(getcwd().$filepath)? mkdir(getcwd().$filepath):null;//生成文件夹

$fp2=fopen(getcwd().$filepath.$filename.$ext, "a");
fwrite($fp2,$img);
fclose($fp2);

return array($filepath.$filename.$ext,$size);
}

/**
*获取源码中的图片url
**/
function getImg($html)
{   

if(stristr($html,'class="iblue"'))//结束点
{
	return 10;
}
	$res=preg_replace( "/.*<img[^>]*src[=\s\"\']+([^\"\']*)[\"\'].*/","$1",$html);//获取img中的src值
	
	$res=trim($res);

	$Suffix=getSuffix($res);//获取后缀名

	$Suffix= strtolower($Suffix);//转换为小写

	$Suffix=trim($Suffix);//去首尾空格
	
	if($Suffix=='png' or $Suffix=='jpg')//判断是否是图片
	{
		if(stristr($res,'https'))
		{
			return $res;
		}
	}
	else
	{
		return false;
	}
}

if(!empty($_POST))
{
	$htmlurl=$_POST['URL'];

	$html = file($htmlurl);

		$imgurl=[];

	static $i=1;
	
	foreach($html as $k=>$v)
	{
		
		$img=getImg($v);
		
		if($img==10)
		{
			break;
		}
		if($img)
		 {
			$imgurl[$i]=getImg($v);
			$i++;
		 }
	}

	$k=0;

	$time=date('Ymdis');
	foreach($imgurl as $k=>$v)
	{
		
		GrabImage($v,"./images/$time/",$k);
		$k++;
	}

	$i-=1;

	echo "总共".$i."张图片请查看是否全部下载完成";
}

?>


<form action="" method="post" >
                <input name="URL" placeholder="输入文章链接">	
            </form

文章如无特别注明均为原创!
本文作者: JunMo
转载或复制请带上本文地址 http://mo60.cn/post-43.html
并注明出处 JunMo博客
原文地址《 关于博客文章图片外链接的备份
发布于2019-7-23
收录状态: [百度已收录][360未收录]

分享到:


打赏

评论

游客

看不清楚?点图切换

切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册