php 代码合并成一个文件,PHP合并静态文件详解

配置PHP.ini

更改配置项(必须)auto_prepend_file = "C:\xampp\htdocs\auto_prepend_file.php"

更改配置项(可选)allow_url_include = On

auto_prepend_file.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中的代码如下:

import_static(array(

'a.js',

'b.js',

'../c.js',

'../moduleB/all.js.php'    // 也可引用.php文件

), __FILE__);

?>

在HTML页面中使用即可引入。

产品上线前,使用批处理文件进行处理,主要做两方面的工作

1.将"*.js.php"输出到"*.js"文件,并删除"*.js.php"。命令行:php *.js.php &gt *.js

2.将HTML页面中对"*.js.php"的引用替换为"*.js"。preg_replace()

PS:import_static函数解决了PHP中include()处理相对路径的问题。

以上就是本文的全部内容了,更详细的信息请期待后续文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值