加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP合并静态文件详解

发布时间:2020-12-13 02:09:42 所属栏目:PHP教程 来源:网络整理
导读:《:PHP合并静态文件详解》要点: 本文介绍了:PHP合并静态文件详解,希望对您有用。如果有疑问,可以联系我们。 配置PHP.ini PHP实例 更改配置项(必需)auto_prepend_file = "C:xampphtdocsauto_prepend_file.php" PHP实例 更改配置项(可选)allow_url_inc

《:PHP合并静态文件详解》要点:
本文介绍了:PHP合并静态文件详解,希望对您有用。如果有疑问,可以联系我们。

配置PHP.iniPHP实例

更改配置项(必需)auto_prepend_file = "C:xampphtdocsauto_prepend_file.php"PHP实例

更改配置项(可选)allow_url_include = OnPHP实例

auto_prepend_file.php文件内容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);
}
?>

使用办法PHP实例

代码如下:

"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>即可引入.PHP实例

产品上线前,使用批处理文件进行处理,主要做两方面的工作
1.将"*.js.php"输出到"*.js"文件,并删除"*.js.php".命令行:php *.js.php &gt *.js
2.将HTML页面中对"*.js.php"的引用替换为"*.js".preg_replace()PHP实例

PS:import_static函数办理了PHP中include()处理相对路径的问题.
PHP实例

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

编程之家培训学院每天发布《:PHP合并静态文件详解》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读