用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页面间参数传递的四种方法详解
Jun 09 PHP
如何使用php输出时间格式
Aug 31 PHP
php对二维数组按指定键值key排序示例代码
Nov 26 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
30个php操作redis常用方法代码例子
Jul 05 PHP
php支付宝接口用法分析
Jan 04 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
PHP设计模式之适配器模式代码实例
May 11 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 PHP
TP5框架安全机制实例分析
Apr 05 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.ini中文版(1)
2006/10/09 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
Sample script that deletes a SQL Server database
2007/06/16 Javascript
JavaScript修改css样式style
2008/04/15 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
2015/11/26 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
浅谈PDF.js使用心得
2018/06/07 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Windows下安装python2和python3多版本教程
2017/03/30 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
基于python框架Scrapy爬取自己的博客内容过程详解
2019/08/05 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
男方父母婚礼答谢词
2014/01/25 职场文书
秋季运动会活动方案
2014/02/05 职场文书
餐厅采购员岗位职责
2014/03/06 职场文书
入党思想汇报怎么写
2014/04/03 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers