萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php實現的CSS更新類實例

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 <?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){     &nbs
copyright © 萬盛學電腦網 all rights reserved