Herkese selam,
Yeni bir sorunum vardı. Veritabanına uzun JSON veri girişi eklemek zorunda kaldım. Ancak bu daha sonraki zamanlarda büyük bir depolama sorununa dönüşüyor. Sonra kendi kendime sordum, neden JSON'u sıkıştırmadan ekliyorum?
Örnek boyutlarını görebilirsiniz.
gzcompress çıktısı:

xڋ�RP�b�p%+%��T%����7P(̃�����:��u���~��H:PuAmq Y㔚Z���*�����5��30@���!l�[~~
آ��6�@�'�hF�h0��� EkJ��5�u���%�� ��qJ-��B�l`� �ӣ���G��x}IDq�/=z%楖�#A��)}��Ӓ�����f>L�[���v~�~Z#�B�����

base64_encode(gzcompress()):

eNqL5lJQqAZiBQWlcA9/JSsFJa/8VCUdqIirqzdQKBrMg6kDy/iF+jq5BgHljHUQgq4RAa5+wa5IOlB1QW1xDAFZ45SaWqSkgyrn6Osf6geSNbTQMzBAkqvVIWygW35+Cm4DjahtoCXpBjon4vaxkQGaeXB2LBeaDdiiwYQ20UCGJ/EbaEbtaDAfBAbi97IJRRFrSpuINaF1/sL0JReMB7YMtcxxSi3JGPhCx2xgsiCd06PpwKRHqhfPeH1JRHGKLz16JealltAjQeKrEsgpffGHsgW105LFwOQYvKFmPkzKW7yepHZ+oX5aI6VC4IrlAgAOj9SF

Örnekler

FoodMenu Örneği

<?php
$sampleData = file_get_contents('https://sercankara.xyz/samples/foodMenu.json');
$withBase64encode = base64_encode(gzcompress($sampleData, 9));
$withOutBase64encode = gzcompress($sampleData, 9);
echo 'pure data: ';
echo mb_strlen($sampleData, '8bit');
echo "\n";
echo 'with base64_encode: ';
echo mb_strlen($withBase64encode, '8bit');
echo "\n";
echo 'without base64_encode: ';
echo mb_strlen($withOutBase64encode, '8bit');

Sonuç

pure data: 2696
with base64_encode: 328
without base64_encode: 246

Photos Örneği

<?php
$sampleData = file_get_contents('https://sercankara.xyz/samples/photos.json');
$withBase64encode = base64_encode(gzcompress($sampleData, 9));
$withOutBase64encode = gzcompress($sampleData, 9);
echo 'pure data: ';
echo mb_strlen($sampleData, '8bit');
echo "\n";
echo 'with base64_encode: ';
echo mb_strlen($withBase64encode, '8bit');
echo "\n";
echo 'without base64_encode: ';
echo mb_strlen($withOutBase64encode, '8bit');

Sonuç

pure data: 951473
with base64_encode: 170940
without base64_encode: 128205

Bu karakterleri ����� görmek istemiyorsanız. base64_encode kullanmanız gerekir. Ancak birkaç alan kaybedersiniz.

Last modified: 3 Mart 2023

Author

Comments

Write a Reply or Comment

Your email address will not be published.