فشرده و غیر فشرده کردن رشته ها

در PHP از دو تابع ()gzcompress و ()gzuncompress برای فشرده و غیر فشرده کردن رشته ها استفاده می شود. به مثال زیر توجه کنید :

   1: <?php    
   2: 
   3:     $text = "";
   4:     
   5:     for ($i = 0; $i < 1000; $i++)
   6:     {
   7:         $text .= "The quick brown fox jumps over the lazy dog.";
   8:     }
   9:     
  10:     $compressedtext = gzcompress($text);
  11:     
  12:     $uncompresstext = gzuncompress($compressedtext);
  13:     
  14:     echo 'Original size of text is :            ' . strlen($text)           .  '<br/>';
  15:     echo 'Size of text after compression is :   ' . strlen($compressedtext) .  '<br/>';
  16:     echo 'Size of text after uncompression is : ' . strlen($uncompresstext);
  17:     
  18: ?>
Original size of text is : 44000
Size of text after compression is : 196
Size of text after uncompression is : 44000

در خط 3 کد بالا ابتدا یک رشته تهی تعریف و سپس با استفاده از یک حلقه for رشته .The quick brown fox jumps over the lazy dog را هزار بار به آن می چسبانیم. تعداد کاراکترهای رشته بالا 44 عدد هستند و چون 1000 تا از این رشته را در داخل متغیر text$ قرار داده ایم تعداد کاراکترهای آن 44000 عدد می شود. این رشته را فقط برای نمایش عملکرد متد های ()gzcompress و ()gzuncompress ایجاد کرده ایم. در خط 14 ابتدا طول این رشته را قبل از فشرده سازی و با استفاده از متد ()strlen حساب می کنیم که در خروجی عدد 44000 نمایش داده می شود. حال در خط 10 رشته را با استفاده از متد ()gzcompress فشرده کرده و آن را در داخل یک متغیر می ریزیم. حال در خط 15 طول این متغیر را چاپ می کنیم که عدد 196 چاپ می شود و نشان دهنده فشرده شدن رشته اصلی می باشد. در خط 12 هم با استفاده از متد ()gzuncompress متغیر فشرده شده را از حالت فشرده خارج و در خط 16 آن را چاپ می کنیم که خروجی همان عدد 44000 را نشان می دهد.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.