Autor Zpráva
Hricer
Profil *
Ahoj,
Chci vypsat složky (z jedné určité složky) pomocí kodu:

<?php
$handle=opendir('.');
while (false!==($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_dir($file)) {
echo "$file\n<br />";
}
}
closedir($handle);
?>

Všechny složky se mi vypíšou, ale pokud chci vypsat složky z mojí nadsložky (obrázky/), tak se mi nevypíšou..

<?php
$handle=opendir('obrázky/');
while (false!==($file = readdir($handle))) {
if ($file != "." && $file != ".." && is_dir($file)) {
echo "$file\n<br />";
}
}
closedir($handle);
?>

Mohl by mi někdo poradit v čem jsem udělal chybu :))
Alphard
Profil
nadsložky (obrázky/)
jestli nadsložka = nadřazený adresář, tak

../obrazky/

jinak, vyhni se diakritice
Hricer
Profil *
Moje složky a soubory :

- obsah hlavní složky:
tento_script.php
dalsi_soubory.php
a složka obrázky

- obah složky obrázky:
nějaké_složky_které_chci_vypsat_pomoci_scriptu_v_hlavni_slozce
soubory.jpg
...

takle to myslím :)
PS: diakritiku nepoužívam, jen ted jak jsem uvedl přiklad :)
Alphard
Profil
takže podadresář :-)

zde je fungující skript pro vypsání položek podadresáře, změn tučné

<?
$slozka = dir("29");
while($soubor=$slozka->read()) {
if ($soubor=="." || $soubor=="..") continue;
echo "<a href=\"29/$soubor\">".$soubor."</a><br>\n";
}
$slozka->close();
?>


zdroj:
http://www.linuxsoft.cz/article.php?id_article=297
Hricer
Profil *
jj ten článek jsem také četl, ale pořád to není ono co myslím.. nechci pořád otravovat, ale fakt už si nevím rady, potřebuji vypsat pouze složky. Problem je v tom, že nevím jak rozlišit složku od souboru.. V mém případě jsem použil is_dir($file), složky se rozlišily, ale pouze v hlavním adresáři, když jsem je chtěl rozlišit v podaresáři (jak říkaš ty, já myslím že je to nadřazený adresář :D ), tak to nešlo, což mi příjde divné. Script který jsi mi napsal vypíše všechny soubory a složky :)
Alphard
Profil
funkci is_dir předáváš pouze soubor, musíš předat i cestu => is_dir (cesta/soubor)
PS: ten skript jsem napsal, protože tvůj mi příjde zbytečně složitý
Hricer
Profil *
jo, ono to opravdu funguje, ale já bych se vsadil, že jsem to už zkoušel.. děkuji ;)
Toto téma je uzamčeno. Odpověď nelze zaslat.