Heim > Backend-Entwicklung > PHP-Tutorial > PHP合并静态文件

PHP合并静态文件

WBOY
Freigeben: 2016-06-23 14:29:09
Original
873 Leute haben es durchsucht

配置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);}?>
Nach dem Login kopieren
使用方法

"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__);?>
Nach dem Login kopieren

在HTML页面中使用即可引入。

产品上线前,使用批处理文件进行处理,主要做两方面的工作

将"*.js.php"输出到"*.js"文件,并删除"*.js.php"。命令行:php *.js.php > *.js 将HTML页面中对"*.js.php"的引用替换为"*.js"。preg_replace()

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

待续。。。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage