PDA

Bekijk Volledige Versie : PHP-probleempje (inconsequente "Stat failed" foutmelding?)



Tom Verbreyt
30/09/05, 13:55
Hey,

Ik gebruik dit hier:

<?php
$mtime = filemtime("./$_SERVER[PHP_SELF]");
print "<span class=\"small\" title=\"" . date('r',$mtime)
."\">" . $mtime . "</span>"; ?>
?>

....op enkele pagina's. 't Geeft het laatste tijdstip van wijziging weer
in de vorm van een Unix-timestamp (don't ask me why, waarschijnlijk
gewoon om irritatie op te wekken), een mouse-over geeft dan een beter
leesbaar formaat weer (cf. mijn post van een tijdje geleden over het
title-attribuut).

Dat heeft altijd proper gewerkt (cf. http://tom.verbreyt.be/), tot ik
trien.php van de top-level dir naar de subdir los/ verplaatste. Nu staat
er "Stat failed for .//los/trien.php". 't ./ verwijderen geeft dezelfde
melding, maar dan voor /los/trien.php. 'k Begrijp niet goed waarom het
foutloopt...

Is er iemand die dat wel ziet?

Cheers,
Tom

--
keys: http://tmp.verbreyt.be/files/ (abwaerts.asc & verbreyt.asc)
---
np: Kirlian Camera - Bondarenko: The Lost Days

Ronald Klip
30/09/05, 13:55
Tom Verbreyt schreef:
>
> $mtime = filemtime("./$_SERVER[PHP_SELF]");
>
> Dat heeft altijd proper gewerkt (cf. http://tom.verbreyt.be/), tot ik
> trien.php van de top-level dir naar de subdir los/ verplaatste. Nu staat
> er "Stat failed for .//los/trien.php". 't ./ verwijderen geeft dezelfde
> melding, maar dan voor /los/trien.php. 'k Begrijp niet goed waarom het
> foutloopt...

Kennelijk bestaat er geen bestand /los/trien.php, maar wel iets als
/home/httpd/web/los/trien.php . Met andere woorden, gebruik het
volledige pad:

$mtime = filemtime($_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF']);

--
groet, Ronald

Tom Verbreyt
30/09/05, 14:05
[30/09/2005 -- 11:53u] Ronald Klip in nl.internet.www.server-side:

> > $mtime = filemtime("./$_SERVER[PHP_SELF]");

<knip>

> $mtime = filemtime($_SERVER['DOCUMENT_ROOT'] . $_SERVER['PHP_SELF']);

Wonderlijk...

Het ligt ongetwijfeld aan mij, maar daarmee begrijp ik nog steeds niet
waarom het voor top-level bestanden wél lukt...

Alleszins erg bedankt!
Tom

--
keys: http://tmp.verbreyt.be/files/ (abwaerts.asc & verbreyt.asc)
---
np: The Velvet Underground - Satellite of Love

Geert Wirken
11/10/05, 21:35
Tom Verbreyt schreef op 30-9-2005 14:00:
> Wonderlijk...
>
> Het ligt ongetwijfeld aan mij, maar daarmee begrijp ik nog steeds niet
> waarom het voor top-level bestanden wél lukt...
In $_SERVER["PHP_SELF"] staat het PHP-bestand uit de URL. Als je
http://www.bla.nl/foo.php aanroept, krijg je foo.php, want PHP zal dan
http://www.bla.nl/ weghalen; maar wanneer je
http://www.bla.nl/foo/bar.php aanroept, zal door PHP alleen
http://www.bla.nl weggehaald worden. Dit omdat PHP_SELF bedoeld is om te
gebruiken in een <a>nchor of <form> action attribute.

--
Met vriendelijke groet,
Geert Wirken