رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
فشرده سازی خودکار فایلهای CSS با PHP
#1
<?php
    ob_start('ob_gzhandler');
    header('Content-Type: text/css');
    function compress($buffer) {
        /* remove comments */
        $buffer = preg_replace('!/*[^*]**+([^/][^*]**+)*/!', '', $buffer);
        /* remove tabs and newlines, etc. */
        $buffer = str_replace(array("rn", "r", "n", "t"), '', $buffer);
        /* remove unnecessary whitspaces */
        $buffer = preg_replace('#[s]{2,}#', ' ', $buffer);
        return $buffer;
    }
 
    /* your css files */
    if(isset($_GET['css']) && file_exists($_GET['css'])) {
        echo compress(file_get_contents($_GET['css']));
    }
 
    ob_end_flush();
?>

مثالی از نحوه استفاده:

<link href="csscompress.php?css=style.css" rel="stylesheet" type="text/css"/>
پاسخ
تشکر شده توسط: php , CyClone , ama-amir
#2
با سلام
برای چی فایل ها رو فشرده کنیم؟
پاسخ
تشکر شده توسط:
#3
برای اینکه توی ترافیک سرور صرفه جویی بشه و صفحات سایت سریعتر بارگذاری بشن. حجم دانلود کاربران هم کمتر مصرف میشه.
پاسخ
تشکر شده توسط: php_programmer021
#4
سلام
استاد بهتر نیست از همون اول فایل css رو به min تبدیل کنیم دیگه نیازی به این همه کار نباشه ؟
پاسخ
تشکر شده توسط:
#5
خیلی وقتها امکانش نیست. بخصوص وقتی که میخواین تغییرات رو هم اعمال کنید و دو نسخه روی سایت نگذارین. میشه با اضافه کردن قابلیتهایی مثل کش و... در دفعات بعد جلوی فشرده سازی دوباره رو گرفت.
پاسخ
تشکر شده توسط:
#6
استفاده از سامانه های خودکار سازی اموری (Task Automation) مثل Gulp و Grunt هم توصیه میشه که کار رو خیلی راحت می کنه. اینطوری می تونید هم نسخه کد اصلی رو داشته باشید و هم یک نسخه فشرده و حتی اگر از Source Map هم استفاده بکنید کار توسعه و ویرایش توی مرورگر هم راحت میشه.
پاسخ
تشکر شده توسط: olampiad
#7
(11-05-1394، 11:52 ق.ظ)__undercover نوشته: استفاده از سامانه های خودکار سازی اموری (Task Automation) مثل Gulp و Grunt هم توصیه میشه که کار رو خیلی راحت می کنه. اینطوری می تونید هم نسخه کد اصلی رو داشته باشید و هم یک نسخه فشرده و حتی اگر از Source Map هم استفاده بکنید کار توسعه و ویرایش توی مرورگر هم راحت میشه.

میشه ی توضیحی در این مورد بدید.
مرسی
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان