8
votes

PHP - Envoi de gzip comprimé JS / CSS

J'ai créé un fichier style.css.php avec ce code: xxx

Que pensez-vous? Est-ce un bon moyen de compresser des fichiers JS / CSS? Y a-t-il une meilleure manière de faire cela? Je le fais pour une application publique. qui peut être téléchargé par n'importe qui. Il y aura donc des personnes sur des hôtes partagés avec GZIP désactivé


5 commentaires

Je suppose que votre serveur ne supporte pas la compression?


Qu'est-ce que vous essayez de réaliser par ce code? Avantage attendu?


Eh bien, je teste cela sur un serveur partagé et que la compression fonctionne. Travaille localement aussi. Ou voulez-vous dire la compression automatique effectuée par le serveur? Est-ce possible?


Règle n ° 1 de PHP: Des lignes simples géantes de code aide personne.


Il est préférable d'utiliser le fichier JS / CSS pré-compressé au lieu de la compresser avec PHP "à la volée"


5 Réponses :


2
votes

serveur doit le faire automatiquement s'il est configuré correctement.


0 commentaires

3
votes

Si vous servez votre site à l'aide d'Apache, vous pouvez utiliser mod_gzip ou mod_deflate. Ils sont généralement disponibles sur des hôtes partagés et peuvent être configurés dans des fichiers .htaccess.

Ajoutez les lignes suivantes à votre fichier .htaccess: xxx

(c'est-à-dire un par mime- Type)


1 commentaires

Il n'a pas besoin d'être un par ligne. Voir ma réponse: stackoverflow. com / questions / 4189429 / ...



2
votes

Adam est sur la bonne voie, mais il n'a pas besoin d'être un type mime par ligne. Voir le manuel Apache2 pour plus d'informations sur le Directive AddOutputTfilterByType . < Pré> xxx


0 commentaires

12
votes

Non, pas OK. Il y a beaucoup de choses qui ne va pas là-bas. L'inclusion, pas de mourir après la redirection, sans tenir compte de la méthode de déflate, ...

Ceci est très simple à faire avec PHP, car le gestionnaire de sortie ZLIB détecte automatiquement la compression appropriée à envoyer au client (le cas échéant); Tout ce que vous avez à faire est de l'activer: xxx


3 commentaires

Merci :) Puis-je demander pourquoi ReadFile () est meilleur que d'inclure? Et devrais-je toujours rediriger si la condition est fausse? J'ai utilisé l'en-tête ("emplacement") parce que je pensais que cela sauverait des ressources du serveur.


& Si j'essaie d'activer la compression de sortie dans HTML généré, je reçois un avis: AVIS: OB_END_FLUSH () [REF.OUTCONTROL]: Échec de la suppression de la compression de sortie ZLIB ZLIB :(


Readfile () Sucks le fichier dans des morceaux et les envoie. Inclure / nécessitera d'abord les données via l'analyseur PHP, ce qui est une étape inutile si le fichier CSS pur du fichier.



0
votes

premier défini dans '.htaccess' xxx

Recommandez dossier CSS et placez des fichiers là-bas.

avec réécriteur vous N'ayez pas besoin de définir en-tête ('type de contenu: text / css'); et d'autres fonctions définies GZIP sur le serveur avant le processus PHP. le code Courir plus vite maintenant!


1 commentaires

IMPORTANT! Certains navigateurs ne prennent pas en charge GZIP pour CSS, puis définissez GZIP uniquement text / html. Utilisation plus recommandée .htaccess avec ces règles.