Autor Zpráva
Ajtak
Profil
Zdravím.

Potřeboval bych pomoct, jak ze zadaného adresáře, zjistit název druhého nejnovějšího souboru. Jak to jednoduše udělat?

Předem díky za rady.
Alphard
Profil
Projít všechny soubory, pomocí filemtime() zjistit časový údaj a vybrat ten požadovaný.
Ajtak
Profil
Alphard:
Jak konkrétně to myyslíte? Problém je v tom, že já neznám názvy souborů...

Aktuálně používám
$dir = "/home/wellho/public_html/demo";
$pattern = '\.(html|php|php4)$';

$newstamp = 0;
$newname = "";
$dc = opendir($dir);
while ($fn = readdir($dc)) {
  # Eliminate current directory, parent directory
  if (ereg('^\.{1,2}$',$fn)) continue;
  # Eliminate other pages not in pattern
  if (! ereg($pattern,$fn)) continue;
  $timedat = filemtime("$dir/$fn");
  if ($timedat > $newstamp) {
    $newstamp = $timedat;
    $newname = $fn;
  }
}
Ale ten vrací jen poslední soubor, já bych chtěl vracet ten druhý nejnovější soubor. Jak to udělat?
Miro77
Profil
Ajtak:
Co uložit soubory a jejich časové hodnoty do pole, pole přesortovat a vypsat druhý záznam v poli?
Ajtak
Profil
Miro77:
Tak to se obávám, že toto nebude nejrychlejší řešení. Jedná se o snímky IP kamery, budou na stránce, která bude několikrát za sekundu refreshována, a bude mít velkou návštěvnost....
Miro77
Profil
Ajtak:
O rychlosti ani četnosti nebyla řeč. :o) Proč bude stránka několikrát za sekundu refreshována? Chceš vyvolat dojem přehrávání filmu 25 snímků za sekundu? :O

Co děláš s tím druhým nejnovějším souborem?
Tori
Profil
Ajtak:
Jedná se o snímky IP kamery,
Potřebujete mít po nějakou dobu uložené všechny předchozí snímky, anebo vám stačí mít ve složce pouze nejnovější 2?
Kajman
Profil
Ajtak:
Pokud nemáte možnost spouštět příkazy operačního systému, tak si v tom cyklu pamatujte nejen nejnovější, ale i druhý nejnovější soubor.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: