Maison >développement back-end >tutoriel php >Explication détaillée de la façon dont PHP compresse les données JSON renvoyées et les affiche avec gzip
Comment PHP compresse-t-il et génère-t-il les données JSON renvoyées avec gzip ? Cet article présente principalement la méthode d'utilisation de la compression gzip pour générer les données au format JSON renvoyées en PHP. L'exemple d'environnement dans l'article est le système Linux et les amis qui en ont besoin peuvent s'y référer. J'espère que cela aide tout le monde.
1. Comparaison de la sortie HTTP avec et sans compression
2. >
Utilisez le module Apache mod_deflate pour activer gzipMéthode d'activation :
sudo a2enmod deflate sudo /etc/init.d/apache2 restartMéthode de fermeture :
sudo a2dismod deflate sudo /etc/init.d/apache2 restart
3. Les paramètres nécessitent une compression gzip Le type de sortie
Le type de sortie de json est application/json, vous pouvez donc le définir comme ceci Ajoutez
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/json </IfModule>
<?php $data = array( array('name'=>'one','value'=>1), array('name'=>'two','value'=>2), array('name'=>'three','value'=>3), array('name'=>'four','value'=>4), array('name'=>'five','value'=>5), array('name'=>'six','value'=>6), array('name'=>'seven','value'=>7), array('name'=>'eight','value'=>8), array('name'=>'nine','value'=>9), array('name'=>'ten','value'=>10), ); header('content-type:application/json'); echo json_encode($data); ?>Sortie avant la configuration de gzip :
4. Sortie json unique en utilisant la compression gzip
Après avoir défini AddOutputFilterByType DEFLATE application/json, toutes les données sorties au format json seront sorties en utilisant la compression gzip.Si vous souhaitez utiliser la compression gzip uniquement pour un certain json et n'avez pas besoin des autres, vous pouvez utiliser la méthode ob_start();
<?php ob_start('ob_gzhandler'); $data = array( array('name'=>'one','value'=>1), array('name'=>'two','value'=>2), array('name'=>'three','value'=>3), array('name'=>'four','value'=>4), array('name'=>'five','value'=>5), array('name'=>'six','value'=>6), array('name'=>'seven','value'=>7), array('name'=>'eight','value'=>8), array('name'=>'nine','value'=>9), array('name'=>'ten','value'=>10), ); header('content-type:application/json'); echo json_encode($data); ?>
Recommandations associées :
Structure syntaxique et exemples de parcours de tableau PHP pour chaque
Résumé de la méthode de tri des tableaux PHP
Une brève analyse de la transmission json en php et js
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!