Autor | Zpráva | ||
---|---|---|---|
Hisak Profil * |
#1 · Zasláno: 1. 4. 2011, 23:38:48
Zdravím,
mám index.php a do něj includuji ostatní sekce. Chtěl bych v index.php vypsat datum poslední aktualizace webových stránek jako celku - tzn. když aktualizuji nějakou sekci (např. historie.php nebo oznameni.php) tak se do patičky indexu vypíše datum. Řešilo se to zde na diskuzi: Zjištění poslední aktualizace v php, ale nedospěli k řešení. Mě napadlo řešit to pomocí regulárních výrazů: $filename = '~^.+$~'.'.php'; echo "Poslední aktualizace: ".date("d.m.Y H:i:s", filemtime($filename)); ale píše mi to: Warning: filemtime(): Stat failed for ~^.+$~.php (errno=2 - No such file or directory) in /www/index.php on line 147 Poslední aktualizace: 01.01.1970 01:00:00 Asi jsem zapomněl na nějakou funkci pro kontrolu regulárů, nevím. Prosím poraďte, jak by to šlo udělat. Zkoušel jsem to i pomocí polí ale taky neúspěšně. Předem děkuji za rady. |
||
Davex Profil |
#2 · Zasláno: 2. 4. 2011, 11:07:09 · Upravil/a: Davex
V parametru funkce
filemtime() má být jméno souboru a regulární výraz tam být nemůže. Takto se dá zjistit poslední aktualizace pouze jednoho souboru.
V odkázaném tématu měl Jan Tojnar špatnou cestu k souboru, a proto to nemohlo fungovat. Nalézt datum nejnovějšího vloženého souboru se dá třeba takto: $cas = 0; $vlozene = get_included_files(); foreach ($vlozene as $soubor) { $cas = max($cas, filemtime($soubor)); } echo "Poslední aktualizace: ".date("d.m.Y H:i:s", $cas); |
||
Hisak Profil * |
#3 · Zasláno: 2. 4. 2011, 21:36:49
Davex:
Děkuji. Nedělá to sice to co jsem myslel, ale velmi mi to pomohlo. Trochu jsem Váš kód upravil a pracuje skvěle. $slozka = dir("."); while($soubor=$slozka->read()) { $vlozene[] = $soubor; } $slozka->close(); $cas = 0; foreach ($vlozene as $file) { $cas = max($cas, filemtime($file)); } echo "Poslední aktualizace: ".date("d.m.Y H:i:s", $cas); Nyní to vypíše datum nejaktuálnějšího souboru v adresáři. |
||
Davex Profil |
#4 · Zasláno: 3. 4. 2011, 19:51:08
Pokud chceš znát poslední aktualizaci bez procházení všech souborů, tak se dá také využít datum poslední změny adresáře. Objeví se tam datum jakékoliv změny souborů v adresáři včetně smazání souborů a vytvoření podadresáře.
echo "Poslední aktualizace: ".date("d.m.Y H:i:s", filemtime('.')); |
||
Časová prodleva: 13 let
|
0