用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中的时间处理
Oct 09 PHP
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
PHP 数组实例说明
Aug 18 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
Feb 08 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
May 29 PHP
深入分析php之面向对象
May 15 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
PHP7.0版本备注
Jul 23 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
PHP使用phpunit进行单元测试示例
Sep 23 PHP
PHP页面静态化――纯静态与伪静态用法详解
Jun 05 PHP
PHP常用header头定义代码示例汇总
Aug 29 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递归函数返回值使用方法
2013/02/18 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
vue中filters 传入两个参数 / 使用两个filters的实现方法
2019/07/15 Javascript
python实现文件名批量替换和内容替换
2014/03/20 Python
python中去空格函数的用法
2014/08/21 Python
pygame学习笔记(2):画点的三种方法和动画实例
2015/04/15 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
香港交友网站:be2香港
2018/07/22 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
三个儿子教学反思
2014/02/03 职场文书
葬礼司仪主持词
2014/03/31 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
村党支部公开承诺书
2014/05/29 职场文书
大学生自荐信范文
2015/03/05 职场文书