《PHP應(yīng)用:PHP合并靜態(tài)文件詳解》要點(diǎn):
本文介紹了PHP應(yīng)用:PHP合并靜態(tài)文件詳解,希望對您有用。如果有疑問,可以聯(lián)系我們。
配置PHP.iniPHP實(shí)例
更改配置項(xiàng)(必需)auto_prepend_file = "C:\xampp\htdocs\auto_prepend_file.php"PHP實(shí)例
更改配置項(xiàng)(可選)allow_url_include = OnPHP實(shí)例
auto_prepend_file.php文件內(nèi)容PHP實(shí)例
代碼如下:
<?php
/**
?* 引入static文件
?* @param {array|string} 相對路徑
?* @param {string} 當(dāng)前執(zhí)行腳本所在的路徑__FILE__
?*
?*/
function import_static($files, $path=NULL){
??? // 更改當(dāng)前腳本的執(zhí)行路徑
??? $old_dir = getcwd();
??? $tmp_dir = (isset($path)) ? dirname($path): dirname(__FILE__);
??? chdir($tmp_dir);
??? // 整理包含文件
??? if (!is_array($files)) {
??????? $tmp = array();
??????? $tmp[] = $files;
??????? $files = $tmp;
??? }
??? // 發(fā)送頭信息
??? 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);
??? }
??? // 改回當(dāng)前腳本的執(zhí)行路徑
??? chdir($old_dir);
}
?>
使用辦法PHP實(shí)例
代碼如下:
"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頁面中使用<script type="text/javascript" src="base.js.php"></script>即可引入.PHP實(shí)例
產(chǎn)品上線前,使用批處理文件進(jìn)行處理,主要做兩方面的工作
1.將"*.js.php"輸出到"*.js"文件,并刪除"*.js.php".命令行:php *.js.php > *.js
2.將HTML頁面中對"*.js.php"的引用替換為"*.js".preg_replace()PHP實(shí)例
PS:import_static函數(shù)辦理了PHP中include()處理相對路徑的問題.
PHP實(shí)例
以上便是本文的全部內(nèi)容了,更詳細(xì)的信息請期待后續(xù)文章PHP實(shí)例
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP應(yīng)用:PHP合并靜態(tài)文件詳解》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/14057.html