فشرده سازی خودکار مطالب در php
بررسی روشهای متنوع فشرده سازی خودکار مطالب در php
منظور از فشرده سازی خودکار فشرده سازی توسط سیستم عامل سرور می باشد یعنی بدون اینکه شما نیازی به فشرده کردن محتوا در کدهای خودتان با توابع PHP داشته باشید مدیریت آن را به آپاچی بسپارید
آپاچی را طبق متد دیفلت یا RFC 1951 - DEFLATE Compressed Data Format Specification version پیکربندی کنید
حال به دو روش می توانید فشرده سازی با آپاچی را از طریق HTACCESS مدیریت نمایید
در سرور فشرده سازی بر روی بافر انجام می شود اما می توان آن را طوری پیکر بندی کرد که ابتدا بافر ایجاد شود و بعد هدر ها ارسال شود (در این صورت می توان هدر یا ست کردن کوکی را در بین متن یا BODY هم انجام داد بدون اینکه خطایی دیده شود) و یا اینکه به ترتیب کد بافر ایجاد شود (در صورت استفاده از هدر بعد از BODY خطا دیده می شود )
که هر کدام مزایا و معایب خود را دارد که در اینجا مجال پرداختن به آن نیست
روش اول ـ ابتدا بافر ایجاد شود و بعد هدر ها ارسال شود
برای این کار باید کد زیر را در htaccess نوشت
php_flag output_handler ob_gzhandler
توجه شود که این کد تنها در مود آپاچی اجرا می شود و نه مود CGi ضمنا این کد خودبخود کد php_flag output_buffering Off را هم به همراه دارد
روش دوم - به ترتیب کد بافر ایجاد شود
برای این کار باید کد زیر را در htaccess نوشت
AddOutputFilterByType DEFLATE
دقت نمایید که من خیلی کلی نوشتم و در عمل باید ظرافتها را اعمال کنید مثلا بهتر است کد آخر بصورت زیر نوشته شود
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-java application/java
</ifmodule>