The article introduces in detail the relevant configuration and complete code required for php to merge static files, as well as usage instructions. It is very detailed. It is recommended here to friends in need
Configuring PHP.ini
Change the configuration item (required) auto_prepend_file = "C:\xampp\htdocs\auto_prepend_file.php"
Change the configuration item (optional) allow_url_include = On
auto_prepend_file.php file content
The code is as follows:
<?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); } ?>
How to use
The code is as follows:
"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); ?>
Use can be imported.
Before the product goes online, use batch process files to process, mainly doing two aspects of work
1. Output "*.js.php" to "*.js" file , and delete "*.js.php". Command line: php *.js.php > *.js
2. Replace the reference to "*.js.php" in the HTML page with "*.js". preg_replace()
PS: The import_static function solves the problem of include() processing relative paths in PHP.
The above is the detailed content of Detailed example of php merging static files. For more information, please follow other related articles on the PHP Chinese website!