欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-27 15:35:32
...

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

/** 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."
";

}

}

?>

demo示例程序如下:

1

2

3

4

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实现的CSS更新类实例_PHP教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频