php实现的CSS更新类实例
CSSUpdate.class.php类文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
/** css 更新类,更新css文件内图片的版本 * Date: 2013-02-05 * Author: fdipzone * Ver: 1.1 * * Func: * update(); * * Ver: 1.1 增加search_child参数,可遍历子文件夹 */
class CSSUpdate{
private $csstmpl_path = null; private $css_path = null; private $replacetags = array(); private $search_child = false; private $convert_num = 0; private $is_ready = 0;
/** 初始化 * @param String $csstmpl_path css模版路径 * @param String $css_path css目标路径 * @param Array $replacetags 需要替换的图片类型 * @param boolean $search_child 是否遍历子文件夹,默认false */ public function __construct($csstmpl_path, $css_path, $replacetags=array(), $search_child=false){ if(!is_dir($csstmpl_path) || !is_dir($css_path) || !$replacetags){ $this->is_ready = 0; }else{ $this->csstmpl_path = $csstmpl_path; $this->css_path = $css_path; $this->replacetags = $replacetags; $this->search_child = $search_child; $this->is_ready = 1; } }
/** 更新css文件 */ public function update(){ if($this->is_ready==0){ $this->response('csstmpl or csspath or replacetags error'); return ''; } $this->traversing($this->csstmpl_path); $this->response('covert num:'.$this->convert_num); }
/** 遍历文件夹 * @param String $path 文件路径 */ private function traversing($path){ $handle = opendir($path); while(($file=readdir($handle))!==false){ if($file!='..' && $file!='.'){ $curfile = $path.'/'.$file;
if(is_dir($curfile)){ // folder if($this->search_child){ // 需要遍历子文件夹 $this->traversing($curfile); } }elseif($this->checkExt($curfile)){ // css file $dfile = str_replace($this->csstmpl_path, $this->css_path, $curfile); $this->create($curfile, $dfile); $this->response($curfile.' convert to '.$dfile.' success'); $this->convert_num ++; } } } closedir($handle); }
/** 检查文件后缀 */ private function checkExt($file){ $name = basename($file); $namefrag = explode('.', $name); if(count($namefrag)>=2){ if(strtolower($namefrag[count($namefrag)-1])=='css'){ // css文件 return true; } } return false; }
/** 替换模版内容,写入csspath * @param String $tmplfile 模版文件 * @param String $dfile 目标文件 */ private function create($tmplfile, $dfile){ $css_content = file_get_contents($tmplfile); foreach($this->replacetags as $tag){ $css_content = str_replace($tag, $tag."?".date('YmdHis'), $css_content); } if(!is_dir(dirname($dfile))){ // 生成目标路径 mkdir(dirname($dfile), 0755, true); } file_put_contents($dfile, $css_content, true); }
/** 输出 */ private function response($content){ echo $content." } } ?> |
demo示例程序如下:
1 2 3 4 5 6 7 8 9 10 11 |
require_once "CSSUpdate.class.php";
define('ROOT_PATH', dirname(__FILE__)); $css_path = ROOT_PATH.'/css'; $csstmpl_path = ROOT_PATH.'/csstmpl'; $replacetags = array('.png', '.jpg', '.gif');
$cssobj = new CSSUpdate($csstmpl_path, $css_path, $replacetags); $cssobj->update(); ?> |

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具