您的位置:首页 > Web前端 > CSS

PHP批量下载图片文件(抓取css中图片)

2011-09-26 11:34 197 查看
最近一直很忙,遇到一个手工活,需要下载一些远程的图片,一共一百多张,如果通过手工一张一张的保存,也太耗费时间了,于是上网google了一把,找到PHP批量下载图片文件的方法,原文是出自平凡世界博客的一片关于如何使用PHP批量下载CSS文件中的图片的文章。经过研究改写了一下就可以使用了,方便快捷多了。

PHP批量下载图片文件代码:

set_time_limit(0);//设置PHP超时时间
$imagesURLArray=array_unique($imagesURLArray);

foreach($imagesURLArray as $imagesURL) {
echo $imagesURL;
file_put_contents(basename($imagesURL),file_get_contents($imagesURL));
}


原理很简单,通过一个含有图片地址的数组循环,然后使用PHP的file_get_contents函数取得图片,在使用file_put_contents函数把图片保存下来。

P.S:一定要加上设置PHP超时时间哦~!

附上原文中通过php下载css中图片的代码

/*
More & Original PHP Framwork
Copyright (c) 2007 - 2008 IsMole Inc.
Author: kimi
Documentation: 下载样式文件中的图片,水水专用扒皮工具
*/

//note 设置PHP超时时间
set_time_limit(0);

//note 取得样式文件内容
$styleFileContent=file_get_contents('images/style.css');

//note 匹配出需要下载的URL地址
preg_match_all("/url\((.*)\)/",$styleFileContent,$imagesURLArray);

//note 循环需要下载的地址,逐个下载
$imagesURLArray=array_unique($imagesURLArray[1]);
foreach($imagesURLArray as $imagesURL) {
file_put_contents(basename($imagesURL),file_get_contents($imagesURL));
}

PHP获取图片尺寸

$image_size
   
=   
getimagesize
(
$image_file
);
print( 
"图片的宽度:
"
.   
$image_size
[0]. 
"
<br> "
);
print( 
"图片的高度:
"
.   
$image_size
[1]. 
"
<br> "
);
print( 
"文件的格式为:
"
.   
$image_size
[2]. 
"
<br> "
);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: