用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自动注册登录验证机制实现代码
Dec 20 PHP
php开发留言板的CRUD(增,删,改,查)操作
Apr 19 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
php教程之phpize使用方法
Feb 12 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
PHP的password_hash()使用实例
Mar 17 PHP
最准确的php截取字符串长度函数
Oct 29 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
Laravel find in set排序实例
Oct 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代码
2007/03/03 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
python之django母板页面的使用
2018/07/03 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python pillow模块使用方法详解
2019/08/30 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
Python 发送邮件方法总结
2020/08/10 Python
python如何将图片转换素描画
2020/09/08 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
通信工程毕业生求职信
2013/11/16 职场文书
幼儿园六一儿童节文艺汇演主持词
2014/03/21 职场文书
物资采购管理制度
2015/08/06 职场文书
iPhone13再次曝光
2021/04/15 数码科技
Python基础之数据结构详解
2021/04/28 Python
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android