filemtime($_SERVER["PHP_SELF"]) geht nicht

SilentWarrior

Erfahrenes Mitglied
Hi

Ich wollte bei meiner Seite das Datum der letzten Änderung dynamisch anzeigen lassen, und zwar so:
PHP:
<meta name="date" content="<?php
echo date("Y",filemtime($_SERVER["PHP_SELF"])) . "-"
. date("m",filemtime($_SERVER["PHP_SELF"])). "-"
. date("d",filemtime($_SERVER["PHP_SELF"]));
?>">
<meta name="robots" content="follow">
Dummerweise funktioniert das so nicht, und ich habe keine Ahnung, warum. Folgende Fehlermeldung ist im Quelltext zu lesen:
<meta name="date" content="<br />
<b>Warning</b>: stat failed for /index.php (errno=2 - No such file or directory) in <b>E:\PPP\index.php</b> on line <b>8</b><br />
<br />
<b>Warning</b>: stat failed for /index.php (errno=2 - No such file or directory) in <b>E:\PPP\index.php</b> on line <b>8</b><br />
<br />
<b>Warning</b>: stat failed for /index.php (errno=2 - No such file or directory) in <b>E:\PPP\index.php</b> on line <b>8</b><br />
1970-01-01">
Kann mir da jemand weiterhelfen?
 
(!) $_SERVER['PHP_SELF'] kommt vom Webserver (wie die Variable schon sagt) und gibt die relative bzw. absolute URL des aufgerufenen Dokuments an. Die hat mit dem Dateisystem allerdings weniger zu tun. Aber $_SERVER['SCRIPT_FILENAME'] sollte es tun.
Außerdem ist es uneffizient, filemtime() dreimal aufzurufen, wo einmal auch reicht. Gilt auch für date().
Also mach's am besten so:
PHP:
<meta name="date" content="<?
$last_change = filemtime($_SERVER['SCRIPT_FILENAME']);
echo date("Y-m-d",$last_change);
?>">
<meta name="robots" content="follow">
 

Neue Beiträge

Zurück