欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實現(xiàn)的CSS更新類實例

 更新時間:2014年09月22日 16:50:33   投稿:shichen2014  
這篇文章主要介紹了php實現(xiàn)的CSS更新類及其用法實例,包括了針對模板文件的檢查、更新與替換模板文件等功能,非常實用,需要的朋友可以參考下

本文實例講述了php實現(xiàn)的CSS更新類及其用法,非常實用。分享給大家供大家參考。具體如下:

CSSUpdate.class.php類文件如下:

<?php 
/** css 更新類,更新css文件內(nèi)圖片的版本 
*  Date:  2013-02-05 
*  Author: fdipzone 
*  Ver:  1.1 
* 
*  Func: 
*  update(); 
* 
*  Ver:  1.1 增加search_child參數(shù),可遍歷子文件夾 
*/ 
 
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; 
  } 
 
  /** 替換模版內(nèi)容,寫入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 
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(); 
?>

完整源碼點擊此處本站下載。

希望本文所述對大家PHP程序設(shè)計的學習有所幫助。

相關(guān)文章

  • php生出隨機字符串

    php生出隨機字符串

    這篇文章主要為大家詳細介紹了php生出隨機字符串的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • php獲取指定數(shù)量隨機字符串的方法

    php獲取指定數(shù)量隨機字符串的方法

    這篇文章主要介紹了php獲取指定數(shù)量隨機字符串的方法,涉及php針對數(shù)組的遍歷及字符串運算相關(guān)操作技巧,需要的朋友可以參考下
    2017-02-02
  • 深入PHP數(shù)據(jù)加密詳解

    深入PHP數(shù)據(jù)加密詳解

    本篇文章是對PHP數(shù)據(jù)加密進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP 導出數(shù)據(jù)到淘寶助手CSV的方法分享

    PHP 導出數(shù)據(jù)到淘寶助手CSV的方法分享

    其中將ECSHOP的數(shù)據(jù)轉(zhuǎn)到淘寶,原先是有51ecshop開發(fā)的ecshop助手有這個功能的,后來我打算自己直接在網(wǎng)頁實現(xiàn),就測試了下了,花了一段時間,共享出來希望對大家有所幫助,可以節(jié)省時間。
    2010-02-02
  • MayFish PHP的MVC架構(gòu)的開發(fā)框架

    MayFish PHP的MVC架構(gòu)的開發(fā)框架

    MayFish,一款PHP的MVC架構(gòu)的開發(fā)框架。小巧精煉。歡迎大家測試和使用,歡迎大家對他的發(fā)展提出更好的建議。
    2009-08-08
  • PHP中執(zhí)行cmd命令的方法

    PHP中執(zhí)行cmd命令的方法

    這篇文章主要介紹了PHP中執(zhí)行cmd命令的方法,需要的朋友可以參考下
    2014-10-10
  • php 錯誤處理經(jīng)驗分享

    php 錯誤處理經(jīng)驗分享

    在創(chuàng)建腳本和 web 應用程序時,錯誤處理是一個重要的部分。如果您的代碼缺少錯誤檢測編碼,那么程序看上去很不專業(yè),也為安全風險敞開了大門
    2011-10-10
  • PHP內(nèi)置過濾器FILTER使用實例

    PHP內(nèi)置過濾器FILTER使用實例

    這篇文章主要介紹了PHP內(nèi)置過濾器FILTER使用實例,列舉了驗證功能和糾錯功能的代碼例子來講解如何使用FILTER,需要的朋友可以參考下
    2014-06-06
  • PHP開發(fā)者常犯的10個MySQL錯誤更正剖析

    PHP開發(fā)者常犯的10個MySQL錯誤更正剖析

    最近看到一篇文章:《PHP開發(fā)者常犯的10個MySQL錯誤》,發(fā)現(xiàn)文中不少內(nèi)容陳舊,隨著時間推移技術(shù)發(fā)展變化而變得不適用。為了防止誤導新手,特本著與時俱進的精神寫出此文,絕非對原文作者的不尊重
    2012-01-01
  • php在數(shù)組中查找指定值的方法

    php在數(shù)組中查找指定值的方法

    這篇文章主要介紹了php在數(shù)組中查找指定值的方法,實例分析了php中array_search函數(shù)查找數(shù)組指定值的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03

最新評論