Объединение CSS и JAVASCRIPT с помощью интеллектуального автоматизированного сценария php - PullRequest
1 голос
/ 09 декабря 2010

нашел хорошую программу в этом обсуждении, которое объединяет CSS-файлы в один для ускорения и ускорения загрузки CSS. Он работает и превращает все мои CSS-файлы в одну крошечную кучу, НО страница отображается в виде текста (веб-страница становится CSS-файлом, думает Apache), что может быть не так?

Что я сделал: я сохранил приведенный ниже скрипт в виде php-файла и включил его в свою страницу, и изменил URL-адреса на css-файлы вместе с их. CSS загружается нормально, но веб-страница отображается в виде обычного текста в браузере! в то время как все css есть и остальные элементы, сгенерированные php, единственное, что браузер должен загружать как обычный текст, а не как html-сайт ... Любые подсказки?

<?php
  header('Content-type: text/css');
  ob_start("compress");
  function compress($buffer) {
    /* remove comments */
    $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
    /* remove tabs, spaces, newlines, etc. */
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
    return $buffer;
  }

  /* your css files */
  include('master.css');
  include('typography.css');
  include('grid.css');
  include('print.css');
  include('handheld.css');

  ob_end_flush();
?>

Более поздние улучшения могут быть сделаны позже, чтобы даже улучшить его прочность, после работы:

"; }"> "}" (2 знака)
"{ "> "{" (1 символ)
" {"> "{" (1 чар)
" :"> ":" (1 символ)
": "> ":" (1 символ) " ,"> "," (1 символ)
", "> "," (1 символ) " ("> "(" (1 символ)
"( "> "(" (1 символ) " )"> ")" (1 символ)
") "> ")" (1 символ)

1 Ответ

3 голосов
/ 09 декабря 2010

Как вы включаете этот фрагмент?

Можно предположить, что это должен быть собственный файл, включенный через <link rel="stylesheet" type="text/css" href="./css.php" /> или аналогичный.Если вы вставили это прямо в index.php, вы устанавливаете тип MIME для его вывода в text / css (через header()), следовательно, в виде открытого текста.

...