用php实现的下载css文件中的图片的代码


Posted in PHP onFebruary 08, 2010

作为一个资深并且专业的扒皮人员,在我从初三开始投入伟大的互联网中到现在积累了丰富的扒皮经验。我相信每个做web的程序员也都会有类似的经历。

在扒皮过程中,必不可少的需要下载样式文件中的图片。碰到比较庞大的样式文件,其中可能会有上百个需要下载的图片,那么使用下面这段小代码是最为合适的了。

< ?php 
/* 
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 
set_time_limit ( 0 ); 
$styleFileContent = file_get_contents ( 'http://img.3water.com/skin/newblue/main.css' ); 
preg_match_all ( "/url\((.*)\)/", $styleFileContent, $imagesURLArray ); 
$imagesURLArray = array_unique ( $imagesURLArray [1] ); 
foreach ( $imagesURLArray as $imagesURL ) { 
$dir=dirname($imagesURL); 
if(!file_exists($dir)) 
{ 
//创建目录 
createDir($dir); 
} 
$imagesURL='https://3water.com/'.$imagesURL; 
file_put_contents ( basename ( $imagesURL ), file_get_contents ( $imagesURL ) ); 
} function createDir($path) { 
$path = str_replace('\\','/',$path) ; 
if ( is_dir($path) ) return true ; 
if ( file_exists($path) ) return false ; 
$parent = substr($path ,0, strrpos($path,'/') ) ; 
if ( $parent==='' || $parent==='.' || createDir( $parent ) ) 
return @mkdir($path) ; 
else return false ; 
} 
?>
PHP 相关文章推荐
一个简单实现多条件查询的例子
Oct 09 PHP
php中目录,文件操作详谈
Mar 19 PHP
php mysql数据库操作分页类
Jun 04 PHP
php strstr查找字符串中是否包含某些字符的查找函数
Jun 03 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
php 函数中使用static的说明
Jun 01 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
php使用NumberFormatter格式化货币的方法
Mar 21 PHP
laravel-admin 实现给grid的列添加行数序号的方法
Oct 08 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
Oct 12 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 #PHP
Linux下将excel数据导入到mssql数据库中的方法
Feb 08 #PHP
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 #PHP
php cli 方式 在crotab中运行解决
Feb 08 #PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 #PHP
Zend framework处理一个http请求的流程分析
Feb 08 #PHP
PHP函数常用用法小结
Feb 08 #PHP
You might like
php反弹shell实现代码
2009/04/22 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
2010/06/19 Javascript
MooTools 页面滚动浮动层智能定位实现代码
2011/08/23 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
浅谈jQuery中replace()方法
2015/05/13 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
python网络编程之读取网站根目录实例
2014/09/30 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
Python是什么 Python的用处
2020/05/26 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
设计模式的基本要素是什么
2014/04/21 面试题
大学生村官座谈会发言材料
2014/05/25 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python