Maison  >  Article  >  développement back-end  >  Contenu connexe de la sortie de données php json à l'aide de la compression gzip

Contenu connexe de la sortie de données php json à l'aide de la compression gzip

jacklove
jackloveoriginal
2018-06-09 10:10:502083parcourir

1. Comparaison de la sortie HTTP avec et sans compression

Contenu connexe de la sortie de données php json à laide de la compression gzip



Contenu connexe de la sortie de données php json à laide de la compression gzip

2. Activez gzip

Utilisez le module Apache mod_deflate pour activer gzip
Comment activer :

sudo a2enmod deflatesudo /etc/init.d/apache2 restart

Méthode de fermeture :

sudo a2dismod deflatesudo /etc/init.d/apache2 restart

3. Définissez le type de sortie qui nécessite une compression gzip

Le type de sortie de json est application/json, vous pouvez donc le définir comme ceci
Ajoutez <directory></directory>

<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE application/json</IfModule>
<?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);?>

au de httpd. conf avant de définir la sortie gzip :

Contenu connexe de la sortie de données php json à laide de la compression gzip

Sortie après la configuration de gzip :

Contenu connexe de la sortie de données php json à laide de la compression gzip

4. Utilisez la compression gzip pour générer un seul json

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

Tout d'abord, il n'est pas nécessaire de définir AddOutputFilterByType, puis d'ajouter ob_start('ob_gzhandler');

<?phpob_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);?>

au début du code. Cet article explique le contenu pertinent des données php json à l'aide de gzip. sortie de compression. Pour plus de contenu connexe, veuillez suivre le site Web chinois de php.

Recommandations associées :

Comment utiliser http_build_query, parse_url, parse_str pour créer et analyser une URL via php

Comment utiliser html5 Implémenter la fonction shake

Comment afficher et modifier l'auto_increment via MySql

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