PHP ile JSON sıkıştırmak nasıl?

2 Cevap php

Bana bir uygulama hata avlamak yardımcı olacak küçük bir analiz sayfa yazıyorum. Özünde bu görsel gerçek verileri karşılaştırmak ve günlük girişleri, artı veriler üzerinde analiz biraz gerçekleştirmek için olanak sağlar.

Bu sadece hata ayıklama için ve ben canlı sitede bu dağıtma olacak çünkü ben mümkün olduğunca az sunucu yükünü istiyorum beri. Analiz seçeneklerden birkaç oldukça ağır substring arama veya n 2 işlemleri içerecektir, bu yüzden müşteriye bu boşaltması için gidiyorum.

Bu PHP sayfası sadece bazı tablolar ve günlükleri, JSON veri almak ve bunu yazacak demektir. İstemci Javascript sonra vb tüm analizi yapacağız

Yavaş - Sorun JSON'ed veri birkaç büyük MB ve sunucu benim bağlantı olmasıdır. Bu şekilde verileri sıkıştırmak için güzel olurdu. Herkes fikirleri var mı?

Çevre PHP + Apache olup; Mod_gzip yüklü olacak eğer ben bilmiyorum; ve ben bunun üzerinde hiçbir kontrole sahip.

2 Cevap

Sen PHP’s output control ile verileri sıkıştırabilir. Sadece herhangi bir çıkış önce yazısının başında bu çağrıyı beklemeye:

ob_start('ob_gzhandler');

Şimdi herhangi bir çıkış ya gzip veya deflate müşteri tarafından kabul edilirse ile sıkıştırılmış olacaktır.

Eğer karakter değiştirebilirsiniz böylece PHP 5.4 şimdi JSON_UNESCAPED_UNICODE olduğunu:

\ U00f3 -> Å> = s

eq:

 json_encode($data,JSON_UNESCAPED_UNICODE);