Výpis suborov z adresara – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Výpis suborov z adresara – PHP – Fórum – Programujte.comVýpis suborov z adresara – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
7raul
~ Anonymní uživatel
155 příspěvků
19. 4. 2009   #1
-
0
-

cawte, mam takyto kod:

<?php

ERROR_REPORTING(E_ALL);
function subory_v_adresary ($directory)
{
$results = "";
$adresar = opendir($directory);
while ($file = readdir($adresar)) {
if ($file != '.' && $file != '..')
$results .= "".$file."- ";
}
closedir($adresar);
return $results;
}
$subory = subory_v_adresary("../skuska");
while(EregI("- ", $subory))
{
$value = Explode("- ", $subory);
$subory = EreGi_Replace("".$value['0']."- ", "", $subory);
echo "".$value['0']." <input type=\"text\" name=\"".$value['0']."\"><br>";
}

?>

kod funguje super, a vypise mi vsetky subory a adresare :)
ale ja potrebujem aby ked je adresar, tak aby to hned vypisalo subory z neho :(
dakujem :)

Nahlásit jako SPAM
IP: 91.127.18.–
Reklama
Reklama
7raul
~ Anonymní uživatel
155 příspěvků
19. 4. 2009   #2
-
0
-

tak, vyriesil som to pomocou kodu

<?php

ERROR_REPORTING(E_ALL);
function subory_v_adresary ($directory)
{
$results = "";
$handler = opendir($directory);
while ($file = readdir($handler)) {
if ($file != '.' && $file != '..') {
$results .= "".$file."- ";
}
}
closedir($handler);
return $results;
}
echo "<table width=\"50%\">";
$subory = subory_v_adresary("../skuska");
while(EregI("- ", $subory))
{
$value = Explode("- ", $subory);
if (is_dir($value['0'])){
$subory = EreGi_Replace("".$value['0']."- ", "", $subory);
echo "<tr><td colspan=\"2\">".$value['0']."</td><td><input type=\"text\" name=\"".$value['0']."\"></td></tr>";
$subory1 = subory_v_adresary ($value['0']);
while(EregI("- ", $subory1))
{
$value1 = Explode("- ", $subory1);
$subory1 = EreGi_Replace("".$value1['0']."- ", "", $subory1);
echo "<tr><td>      </td><td>".$value['0']."/".$value1['0']."</td><td><input type=\"text\" name=\"".$value1['0']."\"></td></tr>";
}
}else {
$subory = EreGi_Replace("".$value['0']."- ", "", $subory);
echo "<tr><td colspan=\"2\">".$value['0']."</td><td><input type=\"text\" name=\"".$value['0']."\"></td></tr>";
}
}
echo "</table>";
?>

ale teraz uz posledny problem :( potrebujem, aby sa mi vypisali najprv adresare a az potom subory....ako na to?

Nahlásit jako SPAM
IP: 91.127.18.–
Gobik0
Návštěvník
22. 4. 2009   #3
-
0
-

Při procházení souborů zkontroluj, jestli se jedná o adresář. Když ano, vypiš ho. Když ne, ulož soubor do pole. Nakonec necháš pole vypsat.

Promiň, ale v tuto dobu už se mi nechce číst a upravovat přímo tvůj kód.

Nahlásit jako SPAM
IP: 88.81.84.–
7raul
~ Anonymní uživatel
155 příspěvků
23. 4. 2009   #4
-
0
-

To Gobik :
jaj. dik, to ma nenapadlo som ja ale lama xDD

Nahlásit jako SPAM
IP: 91.127.18.–
bukaj_0010
Věrný člen
23. 4. 2009   #5
-
0
-

7raul
$results .= "".$file."- ";
Bože... Říká ti něco pole?! Ukládat si to do řetězce a pak to z toho řetězce složitě pomocí regulárních výrazů vyrvávat ven, to jsem viděl snad poprvé :o) Přístě doporučuji se podívat do manuálu, kde se najde hodně hotových řešení[1]. A taky doporučuji používat iterátory, v tomto případě konkrétně DirectoryIterator[2], s ním to jde ještě elegantněji.

[1] http://cz2.php.net/manual/en/function.readdir.php#87733
[2] http://www.php.net/manual/en/class.directoryiterator.php

Nahlásit jako SPAM
IP: 88.101.128.–
Jak se správně ptát? -> http://www.hash.cz/inferno/otazky.html[br][br] Po programování je člověk hladovej.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 52 hostů

Podobná vlákna

Vymazanie adresára — založil gaben

Načítanie obrázkov z adresára — založil ps2console

Vymazavanie suborov — založil Milan

Hladanie suborov — založil Anonymní uživatel

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý