php实现的CSS更新类实例
发布时间:2020-12-13 02:02:35 所属栏目:PHP教程 来源:网络整理
导读:《:php实现的CSS更新类实例》要点: 本文介绍了:php实现的CSS更新类实例,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解php实现的CSS更新类及其用法,非常实用.供大家参考研究.具体如下: PHP实例 CSSUpdate.class.php类文件如下: PHP实
《:php实现的CSS更新类实例》要点: 本篇章节讲解php实现的CSS更新类及其用法,非常实用.分享给大家供大家参考.具体如下:PHP实例 CSSUpdate.class.php类文件如下:PHP实例 <?php /** 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."<br>"; } } ?> demo示例程序如下:PHP实例 <?php 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,$replacetags); $cssobj->update(); ?> 完整源码点击此处本站下载.PHP实例 希望本文所述对大家PHP程序设计的学习有所赞助.PHP实例 欢迎参与《:php实现的CSS更新类实例》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |