PHP合并静态文件
2012-04-28 01:03
351 查看
配置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>即可引入。
产品上线前,使用批处理文件进行处理,主要做两方面的工作
将"*.js.php"输出到"*.js"文件,并删除"*.js.php"。命令行:php *.js.php > *.js
将HTML页面中对"*.js.php"的引用替换为"*.js"。preg_replace()
PS:import_static函数解决了PHP中include()处理相对路径的问题。
待续。。。
相关文章推荐
- PHP合并静态文件详解
- PHP合并静态文件详解
- php生成静态文件的方法
- PHP编程:.htaccess配置文件实现伪静态
- PHP实现将多个文件中的内容合并为新文件的方法示例
- PHP中实现生成静态文件的方法缓解服务器压力
- PHP操作之合并CSV文件夹下的所有CSV文件内容到一个CSV文件
- php 静态文件生成类
- php生成静态文件的方法
- ubuntu 用nginx反向代理apache,实现静态文件用nginx,php文件用apache实现
- nginx系列(七)静态文件合并combo
- php实现切割合并文件
- apache的.htaccess文件同时实现HTTPS跳转及伪静态去掉index.php
- PHP 合并两个PDF成一个PDF文件利器 FPDI
- Tengine的concat模块合并静态文件减少请求数
- Nginx+Lua服务端合并静态文件 - SegmentFault
- 【深入浅出Node.js系列十】一个简单的静态文件合并服务器
- 简单的静态文件合并服务器的开发
- nginx默认虚拟主机,用户认证,域名重定向,日志,静态文件不记录日志,防盗链,访问控制,php解析
- PHP静态文件生成类实例