0

0

php实现的CSS更新类实例_PHP教程

php中文网

php中文网

发布时间:2016-07-13 10:18:41

|

1052人浏览过

|

来源于php中文网

原创

php实现的css更新类实例

 cssupdate.class.php类文件如下:

1

2

3

4

立即学习PHP免费学习笔记(深入)”;

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参数,可遍历子文件夹 

*/ 

   

Simple Groupware0.745
Simple Groupware0.745

Simple Groupware 是一个完整的协同工作套件包。它采用PHP,XML,SQL,HTML,CSS和sgsML开发。Simple Groupware与其它同类型系统不同之处在于使用了新的编程语言sgsML。该语言能够实现快速开发Web应用系统。支持MySQL,Oracle和PostgreSQL。

下载

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

立即学习PHP免费学习笔记(深入)”;

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(); 

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/882705.htmlTechArticlephp实现的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...

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

65

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

43

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

35

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

41

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

204

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

9

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

8

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号