用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 相关文章推荐
用PHP和ACCESS写聊天室(一)
Oct 09 PHP
php与XML、XSLT、Mysql的结合运用实现代码
Nov 19 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 PHP
PHP获取时间排除周六、周日的两个方法
Jun 30 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
Jun 23 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 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
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
Python高效编程技巧
2013/01/07 Python
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
python搭建微信公众平台
2016/02/09 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
捷克多品牌在线时尚商店:ANSWEAR.cz
2020/10/03 全球购物
城市规划毕业生求职信
2013/10/10 职场文书
岗位职责的含义
2013/11/17 职场文书
庆国庆活动总结
2014/08/28 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
幼儿园教师求职信
2015/03/20 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL