文章詳細介紹了php合併靜態檔案所需的相關配置以及完整程式碼,以及使用說明,非常的詳盡,這裡推薦給有需要的小夥伴
配置PHP.ini
更改設定項(必須)auto_prepend_file = "C:\xampp\htdocs\auto_prepend_file.php"
更改設定項(可選)allow_url_include = On
auto_prepend_file.php檔案內容
程式碼如下:
<?php /** * 引入static文件 * @param {array|string} 相对路径 * @param {string} 当前执行脚本所在的路径FILE * */ function import_static($files, $path=NULL){ // 更改当前脚本的执行路径 $old_dir = getcwd(); $tmp_dir = (isset($path)) ? dirname($path): dirname(FILE); chdir($tmp_dir); // 整理包含文件 if (!is_array($files)) { $tmp = array(); $tmp[] = $files; $files = $tmp; } // 发送头信息 if (isset($files[0])) { if (stripos($files[0], '.js') !== false) { $header_str = 'Content-Type: text/javascript'; } elseif (stripos($files[0], '.css') !== false) { $header_str = 'Content-Type: text/css'; } if (!ob_get_contents()) { header($header_str); } } // 引入包含文件 foreach($files as $key=>$value) { require_once($value); } // 改回当前脚本的执行路径 chdir($old_dir); } ?>
使用方法
程式碼如下:
"a.js"、"b.js"和"../c.js"是待合并的JS文件,将其合并为base.js.php,则base.js.php中的代码如下: <?php import_static(array( 'a.js', 'b.js', '../c.js', '../moduleB/all.js.php' // 也可引用.php文件 ), FILE); ?>
在HTML頁面中使用98ab768c4d4a244cc055b729825139b92cacc6d41bbb37262a98f745aa00fbf0即可引入。
產品上線前,使用批次處理文件進行處理,主要做兩方面的工作
1.將"*.js.php"輸出到"*.js"文件,並刪除"*.js.php"。命令列:php *.js.php > *.js
2.將HTML頁面中對"*.js.php"的引用替換為"*.js"。 preg_replace()
PS:import_static函數解決了PHP中include()處理相對路徑的問題。
以上是php 合併靜態檔案範例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!