zoukankan      html  css  js  c++  java
  • 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 &gt *.js
    2. 将HTML页面中对"*.js.php"的引用替换为"*.js"。preg_replace()

    PS:import_static函数解决了PHP中include()处理相对路径的问题。

    待续。。。

  • 相关阅读:
    西瓜书的读书笔记
    Tensorflow-gpu在windows10上的安装(anaconda)
    php 设置报错等级
    PHP 类型比较表
    PHP中的定界符格式
    php进制转换函数
    php魔法常量
    php中双$$与多$$
    php引用传值
    CSS3过渡效果实现菜单划出效果
  • 原文地址:https://www.cnblogs.com/rainman/p/2474451.html
Copyright © 2011-2022 走看看