PHP合并静态文件详解
发布:smiling 来源: PHP粉丝网 添加日期:2021-04-26 14:38:04 浏览: 评论:0
文章详细介绍了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页面中使用<script type="text/javascript" src="base.js.php"></script>即可引入。
产品上线前,使用批处理文件进行处理,主要做两方面的工作
1.将"*.js.php"输出到"*.js"文件,并删除"*.js.php"。命令行:php *.js.php > *.js
2.将HTML页面中对"*.js.php"的引用替换为"*.js"。preg_replace()
PS:import_static函数解决了PHP中include()处理相对路径的问题。
以上就是本文的全部内容了,更详细的信息请期待后续文章
Tags: PHP合并静态文件
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)