用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中的字符串编码转换(自动识别原编码)
Jul 02 PHP
php上传文件中文文件名乱码的解决方法
Nov 01 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
Yii框架中memcache用法实例
Dec 03 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 PHP
php结合mysql与mysqli扩展处理事务的方法
Jun 29 PHP
PHP二维数组去重算法
Dec 17 PHP
基于php流程控制语句和循环控制语句(讲解)
Oct 23 PHP
php-msf源码详解
Dec 25 PHP
thinkphp5引入公共部分header、footer的方法详解
Sep 14 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 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分页思路以及在ZF中的使用
2012/05/30 PHP
php中unserialize返回false的解决方法
2014/09/22 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
JavaScript中操作字符串小结
2015/05/04 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
2015/05/09 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
AngularJS入门教程中SQL实例详解
2016/07/27 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
简单谈谈python中的多进程
2016/11/06 Python
python+pygame简单画板实现代码实例
2017/12/13 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
几道数据库的面试题或笔试题
2014/05/31 面试题
超市优秀员工获奖感言
2014/08/15 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
义诊活动总结
2015/02/04 职场文书
公司禁烟通知
2015/04/23 职场文书
导游词之青岛崂山
2019/12/27 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技
无线电知识基础入门篇
2022/02/18 无线电