Autor Zpráva
fíkus
Profil *
Dobry denpreji. Mam takovy dotaz. Vypisuju soubory a adresare na serveru a nevim jak docílit ".." (o uroven vyse) ? Poradite mi nekdo ? Jak do tohoto kodu to zapojit, tak aby to bylo funkcni ? Dekuji mnohokrat

mam takovyto kod:

clearstatcache();
$this_dir = dir($dir);
$files = array();
$dirs = array();

while($file = $this_dir->read()) {

// pokud neni promena $file nejaky z potrebnych souboru (ikony souboru, delete a index)

if($file[0] != "." && $file != "scanuj.php" && $file != "share_system.jpg" && $file != "index.php" && $file != "proitem.gif" && $file != "folder.gif" && $file != "delete.png") {

if(is_file($dir."/".$file)) $files[strtolower($file)] = array("f".$file, filesize($dir."/".$file));
else $dirs[strtolower($file)] = array("d".$file, filesize($dir."/".$file));
}
}
Joker
Profil
".." se objeví normálně ve výpisu jako adresář, není potřeba to tam nějak "dodávat".

Jestli je dotaz jak změnit adresář na ten nadřazený, tak to jsem sice nezkoušel, ale tipuju:
chdir("..");
fíkus
Profil *
To JOKER: Práve ze se to tam neukaze samo, taky jsem si myslel, ale proste ne e :-(
Proto se tady ptam, jak je to mozny ... jestli je tam nejaky figl, bo tak neco. Uz jsem z toho nestastnej, jak bych mohl udelat tlacitko (odkaz) o uroven vyse. Nevis jak na to ?
loyza
Profil
tohle je ten problém:
$file[0] != "."
ptáš se jestli první znak v názvu souboru není tečka.
DJ Miky
Profil
Já bych tohle:
$file[0] != "."

nahradil za toto:
($file[0] != "." || $file=="..")
loyza
Profil
DJ Miky
to je naprostá blbost. To tvoje nahrazení bude fungovat úplně stejně a navíc je to delší.
DJ Miky
Profil
to je naprostá blbost. To tvoje nahrazení bude fungovat úplně stejně a navíc je to delší.

Bude to fungovat tak, jak tazatel chce, tzn. projde i „..“.
Co takhle si to třeba vyzkoušet?
fíkus
Profil *
To DJ Miky : Ok, to funguje dobre ... ale problem na ktery jsem narazil je to , jak zamezit tomu aby to na nejakem adresari skoncilo a proste odkaz ".." nereagoval (jakoby jsme byli na nejvyssi urovni). Takhle kdyz se dostaneme na nejvyssi uroven, tak to zacne hlasit chyby typu Warning: filesize(): SAFE MODE Restriction in effect. The script whose uid is 5500 is not allowed to access.

Chyba je udajne v tomto radku : else $dirs[strtolower($file)] = array("d".$file, filesize($dir."/".$file));
loyza
Profil
DJ Miky
jo, su vůl, sorry
fíkus
Profil *
Poradíte mi nekdo jak na to,aby to neslo dal na server a zastavilo se to na urcitem adresari ? Viz to jak jsem psal výse ! Dekuji moooc za rady
Toto téma je uzamčeno. Odpověď nelze zaslat.