PHP는 gzip을 사용하여 반환된 JSON 데이터를 어떻게 압축하고 출력합니까? 이 글에서는 주로 gzip 압축을 사용하여 PHP에서 반환되는 JSON 형식의 데이터를 출력하는 방법을 소개합니다. 글의 예제 환경은 Linux 시스템이며 필요한 친구는 이를 참조할 수 있습니다. 그것이 모두에게 도움이 되기를 바랍니다.
1. 압축 유무에 따른 HTTP 출력 비교
2. gzip을 켜세요
apache mod_deflate 모듈을 사용하여 gzip을 켜세요.
켜는 방법:
sudo a2enmod deflate sudo /etc/init.d/apache2 restart
끄는 방법 :
sudo a2dismod deflate sudo /etc/init.d/apache2 restart
3. gzip 압축이 필요한 출력 유형을 설정합니다. json의 출력 유형은 application/json이므로, httpd.conf의 <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);
?>
gzip 설정 후 출력:
특정 json을 출력하기 위해 gzip 압축만 사용하고 다른 JSON은 출력하지 않으려면 ob_start() 메서드를 사용하면 됩니다. 먼저 AddOutputFilterByType을 설정할 필요가 없습니다. 그런 다음 ob_start('ob_gzhandler');
<?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); ?>
관련 권장 사항:
PHP 배열 탐색 foreach 구문 구조 및 예제
위 내용은 PHP가 반환된 JSON 데이터를 압축하고 gzip으로 출력하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!