تالار گفتمان nCIS.ir

نسخه‌ی کامل: فشرده سازی خودکار فایلهای CSS با PHP
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
<?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"/>
با سلام
برای چی فایل ها رو فشرده کنیم؟
برای اینکه توی ترافیک سرور صرفه جویی بشه و صفحات سایت سریعتر بارگذاری بشن. حجم دانلود کاربران هم کمتر مصرف میشه.
سلام
استاد بهتر نیست از همون اول فایل css رو به min تبدیل کنیم دیگه نیازی به این همه کار نباشه ؟
خیلی وقتها امکانش نیست. بخصوص وقتی که میخواین تغییرات رو هم اعمال کنید و دو نسخه روی سایت نگذارین. میشه با اضافه کردن قابلیتهایی مثل کش و... در دفعات بعد جلوی فشرده سازی دوباره رو گرفت.
استفاده از سامانه های خودکار سازی اموری (Task Automation) مثل Gulp و Grunt هم توصیه میشه که کار رو خیلی راحت می کنه. اینطوری می تونید هم نسخه کد اصلی رو داشته باشید و هم یک نسخه فشرده و حتی اگر از Source Map هم استفاده بکنید کار توسعه و ویرایش توی مرورگر هم راحت میشه.
(11-05-1394، 11:52 ق.ظ)__undercover نوشته: [ -> ]استفاده از سامانه های خودکار سازی اموری (Task Automation) مثل Gulp و Grunt هم توصیه میشه که کار رو خیلی راحت می کنه. اینطوری می تونید هم نسخه کد اصلی رو داشته باشید و هم یک نسخه فشرده و حتی اگر از Source Map هم استفاده بکنید کار توسعه و ویرایش توی مرورگر هم راحت میشه.

میشه ی توضیحی در این مورد بدید.
مرسی