程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php實現的CSS更新類實例,phpcss更新實例

php實現的CSS更新類實例,phpcss更新實例

編輯:關於PHP編程

php實現的CSS更新類實例,phpcss更新實例


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

CSSUpdate.class.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 
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程序設計的學習有所幫助。


PHP通過css改變顯示內容,答案正確另加50

我用javascript完成的
============ first.html ===========

<html>
<head>
<title>first.html</title>
</head>
<body>
<form action="second.html" method="get" name="myform">
<input name="csstype" type="text" />
<input name="submit" type="submit" />
</form>
</body>
</html>

============ second.html ==================

<html>
<head>
<title>second.html</title>
<style type="text/css">
.type1 h1 {
color:#f00;
}
.type1 p {
color:#0f0;
}
.type2 h1 {
color:#ffff00;
}
.type2 p {
color:#00ffff;
}
.type3 h1 {
color:#ff00ff;
}
.type3 p {
color:#ff00ff;
}
</style>
</head>
<body>
<div id="wrap">
<script type="text/javascript" language="javascript">
function QueryString(item){
var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"))
return sValue?sValue[1]:sValue
}
var csstype=QueryString('csstype');
var wrap=document.getElementById("wrap")
switch(csstype)
{
case "2":
wrap.className="type2";
break;
case "3":
wrap.className="type3";
break;
default:
wrap.className="type1";
}
</script>
<h1>標題</h1>
<p>正文正文正文&lt......余下全文>>
 

php 怎可以動態獲取css裡面的數據,例如:動態的改變寬度與高度

這個應該是在html頁面需要用javascript來獲取的啊,你服務器語言怎麼去獲取人家浏覽器裡運行的html頁面的css。
<div id="test" style="background-color: red;"></div>
<script type="text/javascript">
document.write(document.getElementById( "#test" ).style.backgroundColor);
</script>
應該是像這樣獲取的,如果你服務器硬是需要這些信息,就用ajax或者表單再傳回給服務器的php頁面
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved