Загрузка...

[PHP] Сжатие CSS/JS до одного файла

Тема в разделе Backend создана пользователем lastwek 18 авг 2022. 144 просмотра

  1. lastwek
    lastwek Автор темы 18 авг 2022 140 10 ноя 2017
    PHP
    <?php

    $dirs = ''; // путь к нужным файлам
    $file_save = ''; // Файл, куда сохранять итоговый файл
    $format_type = ''; // С чем работаем (js/css)

    function AllFiles($dir)
    {
    $files = glob($dir . "/*.*", GLOB_NOSORT);
    do {
    $dir = $dir . "/*";
    $files2 = glob($dir . "/*.*", GLOB_NOSORT);

    $files = array_merge($files, $files2);
    } while (sizeof($files2) > 0);

    return $files;
    }

    function getExtension($filename)
    {
    $format = preg_replace('/^.*\.(.*)$/U', '$1', $filename);
    $file = basename($filename, '.' . $format);
    return array('name' => $file, 'format' => $format, 'path' => $filename, 'dir' => dirname($filename));
    }


    if ($format_type == 'js') {
    file_put_contents($file_save, '');
    $files = AllFiles($dir);
    $js_code = '//--------------Generate File--------------' . "\n";
    foreach ($files as $file) {
    $fileinfo = getExtension($file);
    if ($fileinfo['format'] == 'js') {
    $js_code = $js_code . file_get_contents($fileinfo['path']) . "\n\n";
    }
    }
    file_put_contents($file_save, $js_code);
    echo "$file_save - complete";
    } elseif ($format_type == 'css') {
    file_put_contents($file_save, '');
    $files = AllFiles($dir);
    $css_code = '/*--------------Generate File--------------*/' . "\n";
    foreach ($files as $file) {
    $fileinfo = getExtension($file);
    if ($fileinfo['format'] == 'css') {
    $css_code = $css_code . file_get_contents($fileinfo['path']) . "\n\n";
    }
    }
    file_put_contents($file_save, $css_code);
    echo "$file_save - complete";
    } else {
    echo "$format_type - incorrect format (<b>js</b>/<b>css only</b>)";
    }
    $dirs - путь к нужным файлам

    $file_save - файл, куда сохранять итоговый файл

    $format_type - формат работы

    Скрипт проходится по папке с файлами и ищет там нужные(js/css), после чего сохранят все данные в один файл
     
    18 авг 2022 Изменено
  2. NeuralNetwork
    NeuralNetwork 18 авг 2022 Заблокирован(а) 110 15 июн 2022
    Тупо склеить файлы между собой
     
    1. lastwek Автор темы
      NeuralNetwork, изначально была задумка в поиске нужных файлов, поэтому здесь есть выбор типов файла
  3. Обменник
    1. lastwek Автор темы
Загрузка...
Top