thomas_x3 hat geschrieben:Aber ehrlich gesagt, irgendwas hat da auch bei mir nicht funktioniert. Die ganzen CSS Regeln wurden damit einfach nur als Plain Text im Browser ausgegeben und das Layout ging natürlich flöten...
Das sind 3 verschiedene Listings untereinander, die optisch den Eindruck erwecken, als würde es sich um ein in sich geschlossenes Listing handeln, weil die Kommentare zwischen den Listings fehlen. Erkennst Du aber an den Zeilennummern, dass es jeweils wieder bei 1 beginnt. Das erste Listing fängt mit einem HTML-Tag an (Zeile 1 bis 12) und wird eigentlich nicht benötigt. Das zweite (Zeile 1 bis 14) und dritte Listing (Zeile 1 bis 7) jeweils mit einem PHP-Tag.
Benutze das zweite oder dritte Listing hintereinander und nicht beide gleichzeitig, begutachte die zusammengefassten Dateien im Browser und wenn sie Dir gefallen, speichere sie halt als neue CSS oder JS Files ab. Falls beide Scripts das Speichern gleich miterledigen sollen, sollte es reichen, wenn beide Zeilen wie folgt ergänzt werden:
Code: Alles auswählen
echo $output;
file_put_contents("meine-neue.js", $output);
...
echo $output;
file_put_contents("meine-neue.css", $output);
Du könntest es aber auch wie im Beispiel machen und die unteren beiden Listings gleich als PHP Files einbinden.
Code: Alles auswählen
<link rel="stylesheet" type="text/css" href="css/css.php">
<script type="text/javascript" src="js/js.php">
Dazu müsstest Du aber auch das zweite Listing als css.php im Verzeichnis css und das dritte Listing als js.php im Verzeichnis js abspeichern. Also, um das Abspeichern kommst Du so oder so nicht herum.
Beim Zusammenführen von JS Files aus unterschiedlichen Quellen könnte es jedoch passieren, dass gleichlautende Bezeichner für globale Variablen benutzt wurden. Die würden zwar auch ärgern, wenn alle 5 Files hintereinander eingebunden würden, doch in einer einzigen komprimierten JS File blickt man schwerer durch. In komprimierten CSS Styles findet man ebenso kaum einen Fehler. Somit wäre die Variante mit der Zusammenführung zur Laufzeit mit css.php und js.php schon ganz gut, da dann in allen Dateien ganz normal nach Fehlern gesucht werden könnte und Änderungen möglich wären.
Habe es gerade mal getestet, funktioniert problemlos.
Datei abgespeichert als neu.php:
Code: Alles auswählen
<?php
header("Content-Type: text/css");
$alt = file_get_contents("styles-1.css");
$alt .= file_get_contents("styles-2.css");
echo $alt;
?>
Eingebunden mit neu.php:
Code: Alles auswählen
<link rel="stylesheet" type="text/css" href="neu.php">
Würde da aber auf jeden Fall noch eine Abfrage einbauen, wie:
Code: Alles auswählen
if (file_exists("styles-1.css")) {
}
Und das würde ich mit allen Files so machen.