>백엔드 개발 >PHP 튜토리얼 >PHP合并静态文件_PHP教程

PHP合并静态文件_PHP教程

WBOY
WBOY원래의
2016-07-13 17:50:23885검색

配置PHP.ini
更改配置项(必须)auto_prepend_file = "C:\xampp\htdocs\auto_prepend_file.php"
更改配置项(可选)allow_url_include = On

auto_prepend_file.php文件内容

1.  2. /** 
3.  * 引入static文件 
4.  * @param {array|string} 相对路径 
5.  * @param {string} 当前执行脚本所在的路径__FILE__ 
6.  * 
7.  */ 
8. function import_static($files, $path=NULL){  
9.     // 更改当前脚本的执行路径  
10.     $old_dir = getcwd();  
11.     $tmp_dir = (isset($path)) ? dirname($path): dirname(__FILE__);  
12.     chdir($tmp_dir);  
13.     // 整理包含文件  
14.     if (!is_array($files)) {  
15.         $tmp = array();  
16.         $tmp[] = $files;  
17.         $files = $tmp;  
18.     }  
19.     // 发送头信息  
20.     if (isset($files[0])) {  
21.         if (stripos($files[0], '.js') !== false) {  
22.             $header_str = 'Content-Type:   text/javascript';  
23.         } elseif (stripos($files[0], '.css') !== false) {  
24.             $header_str = 'Content-Type:   text/css';  
25.         }  
26.         if (!ob_get_contents()) {  
27.             header($header_str);  
28.         }  
29.     }  
30.     // 引入包含文件 www.2cto.com   
31.     foreach($files as $key=>$value) {  
32.         require_once($value);  
33.     }  
34.     // 改回当前脚本的执行路径  
35.     chdir($old_dir);  
36. }  
37. ?> 

使用方法
"a.js"、"b.js"和"../c.js"是待合并的JS文件,将其合并为base.js.php,则base.js.php中的代码如下:

1.  2.     import_static(array(  
3.         'a.js',  
4.         'b.js',  
5.         '../c.js',  
6.         '../moduleB/all.js.php'    // 也可引用.php文件  
7.     ), __FILE__);  
8. ?> 
在HTML页面中使用即可引入。
产品上线前,使用批处理文件进行处理,主要做两方面的工作
1. 将"*.js.php"输出到"*.js"文件,并删除"*.js.php"。命令行:php *.js.php > *.js
2. 将HTML页面中对"*.js.php"的引用替换为"*.js"。preg_replace()
PS:import_static函数解决了PHP中include()处理相对路径的问题。
待续。。。


摘自 Rain Man

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478272.htmlTechArticle配置PHP.ini 更改配置项(必须)auto_prepend_file = C:\xampp\htdocs\auto_prepend_file.php 更改配置项(可选)allow_url_include = On auto_prepend_file.php文件内容...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.