用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 相关文章推荐
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
PHP安装memcached扩展笔记
May 28 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
php制作简单模版引擎
Apr 07 PHP
PHP实现简单ajax Loading加载功能示例
Dec 28 PHP
PHP基于面向对象封装的分页类示例
Mar 15 PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 PHP
PHP 裁剪图片
Mar 09 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+MYSQL开发工具及资源收藏
2007/01/02 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
jquery.tmpl JQuery模板插件
2011/10/10 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
python实现字符串和日期相互转换的方法
2015/05/13 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
学python安装的软件总结
2019/10/12 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
前处理组长岗位职责
2014/03/01 职场文书
高考寄语大全
2014/04/08 职场文书
学校评语大全
2014/05/06 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
Kubernetes控制节点的部署
2022/04/01 Servers