Ich habe in meinen Dateien folgenden Code, der dafür sorgt, dass der nachfolgende Inhalt beim ersten Aufrufen in einer .tmp-Datei abgelegt wird, aus welcher er beim zweiten Aufrufen der Seite wieder ausgelesen wird. Das funktioniert sonst auch wunderbar, seit ich Änderungen an der Datei vorgenommen habe funktioniert es jedoch nicht mehr.
Die tmp-Datei wird zwar korrekt angelegt, allerdings kommt beim zweiten Aufruf folgende Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /path/to/my/directory/test.php5:1) in /path/to/my/directory/test.php5 on line 10
Normalerweise wird dieser Fehler ja ausgegeben, wenn vor dem Senden des Headers etwas ausgegeben wird, das ist aber nicht der Fall.
Die tmp-Datei wird zwar korrekt angelegt, allerdings kommt beim zweiten Aufruf folgende Fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at /path/to/my/directory/test.php5:1) in /path/to/my/directory/test.php5 on line 10
Normalerweise wird dieser Fehler ja ausgegeben, wenn vor dem Senden des Headers etwas ausgegeben wird, das ist aber nicht der Fall.
PHP-Code:
<?php
$id = $_GET['id'];
// ------ Start Caching -----------------------
// Header
ob_start();
$cache_file = "cache/produkt/article_".$id.".tmp";
clearstatcache();
if(file_exists($cache_file)) {
header("content-lenght: ".filesize($cache_file));
readfile($cache_file);
}
else {
// ------ Ende Caching ------------------------
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
...
Kommentar