PHP合并静态文件详解
2023-06-13 09:15:30 时间
配置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__
*
*/
functionimport_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($filesas$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页面中使用<scripttype="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()处理相对路径的问题。
以上就是本文的全部内容了,更详细的信息请期待后续文章
相关文章
- avx2指令集对php有用吗,AVX2指令集的作用[通俗易懂]
- php 中js跳转页面跳转页面,js跳转代码_PHP页面跳转 Js页面跳转代码[通俗易懂]
- php随机数生成漏洞函数,php随机数生成函数[通俗易懂]
- php案例 批量删除某个目录下的文件
- php不使用中间变量交换两个变量的值
- Linux新建PHP文件的操作指南(linux新建php文件)
- PHP运算符大全
- PHP在Linux下的应用突破之路(php使用linux)
- 初探Linux中的PHP文件之旅(linux创建php文件)
- PHP与Redis出色的结合(php连redis)
- 基于PHP的Webshell自动检测刍议
- PHP编译支持MySQL: 让你的网站更加强大和高效!(php编译支持mysql)
- Linux下如何快速部署PHP环境(linux如何部署php)
- Linux下编译安装PHP:一步步走向稳定性(linux编译安装php)
- Linux下轻松执行PHP文件的方法(linux执行php文件)
- PHP实现高效的Redis连接(redis连接 php)
- PHP和Mysqlweb应用开发核心技术第1部分Php基础-1开始了解php
- php生成静态文件的多种方法分享
- 解析PHP生成静态html文件的三种方法
- PHP中实现生成静态文件的方法缓解服务器压力
- PHP中使用smarty生成静态文件的例子
- PHP中SimpleXML函数用法分析
- 配置php.ini实现PHP文件上传功能
- PHP以mysqli方式连接类完整代码实例