Autor Zpráva
Valach
Profil *
Ahoj, neporadil by mě prosím někdo, jak jednoduše můžu z označeného adresáře (celého stromu) získat název souboru s nejmladším datume a časem? (prostě nejnovější soubor) Hledal jsem nějakou aplikaci ale prd jsem našel Díky za pomoc

Projel by se celý strom a vyplivlo by to třeba, že: nejnovější soubor je blablabla.txt
CZechBoY
Profil
<?php
$slozka=".";
$soubory=ScanDir($slozka);
$nejnovejsiT=0;
$nejnovejsiS="";
ForEach($soubory as $s)
{
If($nejnovejsiT<FileMTime($s))
{
$nejnovejsiT=FileMTime($s);
$nejnovejsiS=$s;
}
}
?>


asi nějak tak
Majkl578
Profil
[#2] CZechBoY:
Není omezené pouze na soubory a nefunguje rekurzivně.

Existuje průhlednější a pro práci příjemnější řešení:
$dir = '/usr/include';

$newest = NULL;

foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS)) as $file) {
    if ($file->isFile() && ($newest === NULL || $file->getMTime() > $newest->getMTime())) {
        $newest = $file;
    }
}

var_dump($newest->getPathname()); // název nejnovějšího souboru

Nicméně to jsme se dostali do sféry PHP, ale jsme v sekci Práce s počítačem a nevíme tedy, jestli Valach nehledá přímo okenní/konzolovou aplikaci.
Valach
Profil *
Hoši, hoši :D, vy už jste z toho programování uplně zaslepeni vůči normálnímu světu :D (Myslím to dobře, žádná urážka či podobné zvěrstvo) Já to myslel normálně ve windows tak nějak normálně. ;)
Darker
Profil
Tak to zkus třeba zmáčkout ctrl+F pak dej najít všechno a seřadit podle data změny :)
Šlo by to přes batch (skript pro příkazový řádek).

Vaše odpověď

Mohlo by se hodit

Zvažte, zda se neobrátit na specializované fórum, toto se zabývá především webovou problematikou.

Prosím používejte diakritiku a interpunkci.

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

0