1

phpで複数のcssファイルを1行に連結する方法は?

以下を減らしたい..

<link href="reset.css" rel="stylesheet" type="text/css" media="screen">
<link href="grid.css" rel="stylesheet" type="text/css" media="screen">
<link href="commons.css" rel="stylesheet" type="text/css" media="screen">

の中へ

<link href="concatenator.php+reset.css+grid.css+commons.css" rel="stylesheet" type="text/css" media="screen">

すべてのスタイルシートを含む結果の 1 つの css または html ファイル

この方法は、http 要求を減らし、dinamyc サイト構成を使用するデザイナーおよび開発者向けの他の機能を備えています。

4

2 に答える 2

2

MatRt によって投稿されたコードは近いですが、代わりに + 記号を使用しています。追加の兆候があり、CSS を印刷しますが、実際には CSS をページに送信していないようです。

ここで提供されているコードを少し調整して動作させることができました。ここにあります:

<?php

// Check the parameter and stop if there is no files param
if (empty($_GET['files']))
    die();

// Retrieve the list of files
$files = explode(",", $_GET['files']);
$directoryOfCss = 'C:\xampplite\htdocs\path\to\my\folder\css\\';
$cssContent = "";

// Loop on all potential file and try to retrieve its content
foreach($files as $oneFile)
{
	//echo $directoryOfCss . $oneFile . ".css";
    if (file_exists($directoryOfCss . $oneFile . ".css")){
    	//echo $directoryOfCss . $oneFile . ".css<br>";
        $cssContent .= file_get_contents($directoryOfCss . $oneFile . ".css");
    }
}

// Finally echo the total content of CSS
header("Content-Type: text/css"); 
header("X-Content-Type-Options: nosniff");
header("Content-Type: text/css;X-Content-Type-Options: nosniff;");
echo $cssContent;

この投稿からヘッダー部分を取得しました。

于 2014-11-12T11:36:45.103 に答える