PHP合并静态文件详解
2014-11-14 11:34
711 查看
配置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()处理相对路径的问题。
以上就是本文的全部内容了,更详细的信息请期待后续文章
您可能感兴趣的文章:
相关文章推荐
- PHP合并静态文件详解
- php断点续传之文件分割合并详解
- PHP合并静态文件
- php断点续传之文件分割合并详解
- PHP 网络开发详解之远程文件包含漏洞
- PHP 网络开发详解之远程文件包含漏洞
- php生成静态文件的方法
- php生成静态文件的方法
- Php 生成静态html文件
- PHP文件上传详解
- 谈PHP生成静态页面分析 模板+缓存+写文件
- PHP文件上传实例详解!!!
- ubuntu 用nginx反向代理apache,实现静态文件用nginx,php文件用apache实现
- PHP文件读写操作之文件读取方法详解
- PHP文件读写操作之文件读取方法详解
- phpMyAdmin配置文件config.inc.php详解
- php.ini 文件配置详解
- 水王复出:PHP文件上传实例详解!!!
- PHP文件上传实例详解
- nginx缓存html静态文件,解析php 并反向代理IIS,使nginx和iis共存