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

Explication détaillée de la façon dont PHP compresse les données JSON renvoyées et les affiche avec gzip

*文
Libérer: 2023-03-19 10:18:01
original
3459 Les gens l'ont consulté

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

201633154618959.jpg (447×226)

2. >

Utilisez le module Apache mod_deflate pour activer gzip

Méthode d'activation :

sudo a2enmod deflate
sudo /etc/init.d/apache2 restart
Copier après la connexion
Méthode de fermeture :

sudo a2dismod deflate
sudo /etc/init.d/apache2 restart
Copier après la connexion

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

à httpd.conf
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/json
</IfModule>
Copier après la connexion
<?php
$data = array(
  array(&#39;name&#39;=>&#39;one&#39;,&#39;value&#39;=>1),
  array(&#39;name&#39;=>&#39;two&#39;,&#39;value&#39;=>2),
  array(&#39;name&#39;=>&#39;three&#39;,&#39;value&#39;=>3),
  array(&#39;name&#39;=>&#39;four&#39;,&#39;value&#39;=>4),
  array(&#39;name&#39;=>&#39;five&#39;,&#39;value&#39;=>5),
  array(&#39;name&#39;=>&#39;six&#39;,&#39;value&#39;=>6),
  array(&#39;name&#39;=>&#39;seven&#39;,&#39;value&#39;=>7),
  array(&#39;name&#39;=>&#39;eight&#39;,&#39;value&#39;=>8),
  array(&#39;name&#39;=>&#39;nine&#39;,&#39;value&#39;=>9),
  array(&#39;name&#39;=>&#39;ten&#39;,&#39;value&#39;=>10),
);

header(&#39;content-type:application/json&#39;);
echo json_encode($data);
?>
Copier après la connexion
Sortie avant la configuration de gzip :


201633154714151.jpg (346×83)

Sortie après la configuration de gzip :


201633154732511.jpg (334×99)

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();

D'abord, il n'est pas nécessaire de définir AddOutputFilterByType, puis d'ajouter ob_start('ob_gzhandler') au début du code ;

<?php
ob_start(&#39;ob_gzhandler&#39;);

$data = array(
  array(&#39;name&#39;=>&#39;one&#39;,&#39;value&#39;=>1),
  array(&#39;name&#39;=>&#39;two&#39;,&#39;value&#39;=>2),
  array(&#39;name&#39;=>&#39;three&#39;,&#39;value&#39;=>3),
  array(&#39;name&#39;=>&#39;four&#39;,&#39;value&#39;=>4),
  array(&#39;name&#39;=>&#39;five&#39;,&#39;value&#39;=>5),
  array(&#39;name&#39;=>&#39;six&#39;,&#39;value&#39;=>6),
  array(&#39;name&#39;=>&#39;seven&#39;,&#39;value&#39;=>7),
  array(&#39;name&#39;=>&#39;eight&#39;,&#39;value&#39;=>8),
  array(&#39;name&#39;=>&#39;nine&#39;,&#39;value&#39;=>9),
  array(&#39;name&#39;=>&#39;ten&#39;,&#39;value&#39;=>10),
);

header(&#39;content-type:application/json&#39;);
echo json_encode($data);
?>
Copier après la connexion

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!

Étiquettes associées:
Déclaration de ce site Web
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
Derniers numéros
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal