


Comment compresser dynamiquement des fichiers js et css en utilisant PHP
这篇文章主要介绍了关于PHP实现动态压缩js与css文件的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
本文实例讲述了PHP实现动态压缩js与css文件的方法。分享给大家供大家参考,具体如下:
正式发布产品时,我们希望将项目里的js,css合并压缩,以减少http请求、防止轻易查看源代码。
使用
只需要在头部引入一下代码即可:
<meta charset="utf-8"/> <title>demo</title> <?php //定义需要压缩的文件 $css = array( CSS_PATH . 'base.css', CSS_PATH . 'style.css', CSS_PATH . 'my.css' ); $js = array( PUB_PATH . '/lib/zepto.min.js', PUB_PATH . '/js/1.js', JS_PATH . '2.js', ); $css_path = base_url(parse_css($css)); $js_path = base_url(parse_script($js)); ?> <link rel="stylesheet" type="text/css" href="<?php echo $css_path ?>" rel="external nofollow" > <script src="<?php echo $js_path ?>"></script> <!--下面可以继续放不能压缩或者不想压缩的文件--> <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
这段代码会在指定的目录(例如common/)里生成压缩过后的js和css.每次更新了js,css内容,请先删除生成的压缩文件。
示例:
4e387d5edce14cc2bd6396f6ebb7921b.css 7c10211f113f3175489196d336d67734.js
注意:
编写的css和js文件一定要符合规范。例如一定要加分号。js的function可以不加分号。
引用的资源
/** * 合并压缩css */ function parse_css($urls) { $url = md5(implode(',', $urls)); $path = FCPATH. 'static/parse/'; $css_url = $path . $url . '.css'; if (!file_exists($css_url)) { if (!file_exists($path)) mkdir($path, 0777); $css_content = ''; foreach ($urls as $url) { $css_content .= @file_get_contents($url); } $css_content = str_replace("\r\n", '', $css_content); //清除换行符 $css_content = str_replace("\n", '', $css_content); //清除换行符 $css_content = str_replace("\t", '', $css_content); //清除制表符 $css_content = str_replace("../images/", "./../common/images/", $css_content); @file_put_contents($css_url, $css_content); } $css_url = str_replace(FCPATH, '', $css_url); return $css_url; } /** * 合并压缩js */ function parse_script($urls) { $url = md5(implode(',', $urls)); $path = FCPATH. '/static/parse/'; $js_url = $path . $url . '.js'; if (!file_exists($js_url)) { if (!file_exists($path)) mkdir($path, 0777); load_qy_lib('JavaScriptPacker'); $js_content = ''; foreach ($urls as $url) { $append_content = @file_get_contents($url) . "\r\n"; $packer = new JavaScriptPacker($append_content); $append_content = $packer->_basicCompression($append_content); $js_content .= $append_content; } @file_put_contents($js_url, $js_content); } $js_url = str_replace(FCPATH, '', $js_url); return $js_url; }
项目里引用到第三方类库JavaScriptPacker可以在github下载:
gkralik/php-uglifyjs
https://github.com/gkralik/php-uglifyjs
/** * 9 April 2008. version 1.1 * * This is the php version of the Dean Edwards JavaScript's Packer, * Based on : * * ParseMaster, version 1.0.2 (2005-08-19) Copyright 2005, Dean Edwards * a multi-pattern parser. * KNOWN BUG: erroneous behavior when using escapeChar with a replacement * value that is a function * * packer, version 2.0.2 (2005-08-19) Copyright 2004-2005, Dean Edwards * * License: http://creativecommons.org/licenses/LGPL/2.1/ * * Ported to PHP by Nicolas Martin. * * ---------------------------------------------------------------------- * changelog: * 1.1 : correct a bug, '\0' packed then unpacked becomes '\'. * ---------------------------------------------------------------------- * * Changes: * 2014-08-28: grkalik: change class for composer support. no functionality change. * */
相关推荐:
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

Réponse: Vous pouvez utiliser le composant de sélecteur de date de bootstrap pour afficher les dates dans la page. Étapes: Présentez le framework bootstrap. Créez une boîte d'entrée de sélecteur de date dans HTML. Bootstrap ajoutera automatiquement des styles au sélecteur. Utilisez JavaScript pour obtenir la date sélectionnée.

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Il existe deux façons de créer une ligne divisée bootstrap: en utilisant la balise, qui crée une ligne divisée horizontale. Utilisez la propriété CSS Border pour créer des lignes de fractionnement de style personnalisées.

Pour configurer le framework Bootstrap, vous devez suivre ces étapes: 1. Référez le fichier bootstrap via CDN; 2. Téléchargez et hébergez le fichier sur votre propre serveur; 3. Incluez le fichier bootstrap dans HTML; 4. Compiler les sass / moins au besoin; 5. Importer un fichier personnalisé (facultatif). Une fois la configuration terminée, vous pouvez utiliser les systèmes, composants et styles de grille de Bootstrap pour créer des sites Web et des applications réactifs.

Pour vérifier les dates dans Bootstrap, suivez ces étapes: introduisez les scripts et styles requis; initialiser le composant de sélecteur de date; Définissez l'attribut Data-BV-Date pour activer la vérification; Configurer les règles de vérification (telles que les formats de date, les messages d'erreur, etc.); Intégrez le cadre de vérification de bootstrap et vérifiez automatiquement l'entrée de date lorsque le formulaire est soumis.

Bootstrap fournit un guide simple pour configurer les barres de navigation: l'introduction de la bibliothèque bootstrap pour créer des conteneurs de barre de navigation Ajouter l'identité de marque Créer des liens de navigation Ajouter d'autres éléments (facultatif) Styles d'ajustement (facultatif)
