用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读取MySQL数据代码
Jun 05 PHP
PHP 进程锁定问题分析研究
Nov 24 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
Eclipse的PHP插件PHPEclipse安装和使用
Jul 20 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
May 04 PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 PHP
PHP策略模式定义与用法示例
Jul 27 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PHP5.3新特性小结
2016/02/14 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
超级退弹代码
2008/07/07 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
简单实现python收发邮件功能
2018/01/05 Python
浅析Python数据处理
2018/05/02 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python tkinter实现屏保程序
2019/07/30 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
广告设计应届生求职信
2014/03/01 职场文书
公司合作协议书范本
2014/04/18 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
保护校园环境倡议书
2015/04/28 职场文书
政协工作总结2015
2015/05/20 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python
python多次执行绘制条形图
2022/04/20 Python