用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 !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
Jan 07 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
Ping服务的php实现方法,让网站快速被收录
Feb 04 PHP
php eval函数用法 PHP中eval()函数小技巧
Oct 31 PHP
PHP 数组和字符串互相转换实现方法
Mar 26 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
Jun 30 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
PHP addcslashes()函数讲解
Feb 03 PHP
PHP fopen函数用法实例讲解
Feb 15 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 PHP
TP5多入口设置实例讲解
Dec 15 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/10/26 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
vue实现购物车案例
2020/05/30 Javascript
Python的Urllib库的基本使用教程
2015/04/30 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
pandas重新生成索引的方法
2018/11/06 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
一个入门级python爬虫教程详解
2021/01/27 Python
Python datetime模块的使用示例
2021/02/02 Python
工厂厂长岗位职责
2013/11/08 职场文书
求职信范文大全
2014/05/26 职场文书
小学毕业感言200字
2015/07/30 职场文书
2019 入党申请书范文
2019/07/10 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android