Maison  >  Article  >  développement back-end  >  Exemple détaillé de php fusionnant des fichiers statiques

Exemple détaillé de php fusionnant des fichiers statiques

怪我咯
怪我咯original
2017-07-05 10:51:321087parcourir

L'article présente en détail la configuration pertinente et le code complet requis pour la fusion de fichiers statiques en PHP, ainsi que les instructions d'utilisation. Il est très détaillé. Il est recommandé ici aux amis dans le besoin

Configurer PHP. ini

Modifier les éléments de configuration (obligatoire) auto_prepend_file = "C:xampphtdocsauto_prepend_file.php"

Modifier les éléments de configuration (facultatif) allow_url_include = On

contenu du fichier auto_prepend_file.php

Le code est le suivant :

<?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], &#39;.js&#39;) !== false) {
            $header_str = &#39;Content-Type:   text/javascript&#39;;
        } elseif (stripos($files[0], &#39;.css&#39;) !== false) {
            $header_str = &#39;Content-Type:   text/css&#39;;
        }
        if (!ob_get_contents()) {
            header($header_str);
        }
    }
    // 引入包含文件
    foreach($files as $key=>$value) {
        require_once($value);
    }
    // 改回当前脚本的执行路径
    chdir($old_dir);
}
?>

Comment utiliser

Le code est le suivant :

"a.js"、"b.js"和"../c.js"是待合并的JS文件,将其合并为base.js.php,则base.js.php中的代码如下:
<?php
    import_static(array(
        &#39;a.js&#39;,
        &#39;b.js&#39;,
        &#39;../c.js&#39;,
        &#39;../moduleB/all.js.php&#39;    // 也可引用.php文件
    ), FILE);
?>

Utiliser 8a48ee7b05a2c50727306b3a1a3296a32cacc6d41bbb37262a98f745aa00fbf0

Avant que le produit ne soit mis en ligne, utilisez le fichier de traitement par lots pour le traitement, en effectuant principalement deux aspects du travail
1 Sortie "*.js.php" vers le "*. js" et supprimez "*.js.php". Ligne de commande : php *.js.php > *.js
2. Remplacez la référence à "*.js.php" dans la page HTML par "*.js". preg_replace()

PS : La fonction import_static résout le problème du traitement include() des chemins relatifs en PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn