dateien auflisten und namen ausgeben

doenerpower

Mitglied
hi,

ich suche ein einfaches Codeschnipsel/Skript, mit dem man alle Dateien eines Ordners + Unterordners auslesen und anschließend den Pfad + Dateinahmens aller zb. mittels echo ausgeben kann.

Bin leider nich so der Held in php ;)

mfg
 
Hast du die Suche bemüht?

PHP:
<?
function echodir($path = ".") 
{ 
    $dir = dir($path); 
    while(false !== ($file = $dir->read())) 
    { 
        if(("."  == $file) OR (".." == $file)) 
            continue; 
        if(is_dir($path."/".$file)) { 
            echo("<b>Ordner: ".$path."/".$file."/</b><br>\n"); 
            echodir($path."/".$file); 
        } 
        else 
        { 
		if ($file=="filelist.php"){
		}
		else{
        	    echo("<a href=\" ".$path."/".$file." \"> ".$file."</a><br>\n"); 
		}
        } 
    } 
$dir->close(); 
} 

 

echodir();
?>
 
thx nomad, ich versuchs noch bißchen für meine Bedüfnisse umzuschreiben, wenn ichs hinbekomme, hake ich es ab.

mfg
 
Zuletzt bearbeitet:
habe das skript mit meinen bescheidenen Kenntnissen umgeschrieben:

Code:
<?
function echodir($path = ".")
{
    $dir = dir($path);
    while(false !== ($file = $dir->read()))
    {
        if(("."  == $file) OR (".." == $file))
            continue;
        if(is_dir($path."/".$file)) {

            echodir($path."/".$file);
        }
        else
        {
        if ($file=="filelist.php"){
        }
        else{
               echo("#".$path."/".$file." *<br>\n");
        }
        }
    }
$dir->close();
}



echodir();
?>

wie entferne ich nun noch das "./" vor dem Pfad und wie ersetze ich "#" für "<filename>" und "*" für "</filename>" ?

mfg & vielen Dank.
 
wie meinst Du?!
[php-brief]
<?
function echodir($path = ".")
{
$dir = dir($path);
while(false !== ($file = $dir->read()))
{
if(("." == $file) OR (".." == $file))
continue;
if(is_dir($path."/".$file)) {

echodir($path."/".$file);
}
else
{
if ($file=="filelist.php"){
}
else{
echo("<".$file.">".$path."</".$file."><br>\n");
}
}
}
$dir->close();
}



echodir();
?>


[/php-brief]


so?!
 
ne, so dass anstelle von # wirklich <filename> ausgegeben wird. ( Weil Begriffe nicht angezeigt werden, die in tags stehen)

und dass eben das "./" vor dem Pfad nicht angezeigt wird:
also zb. statt

# ./images/header.gif *
-->
<filename> images/header.gif </filename>

mfg ;)
 
[php-brief]

<?
function echodir($path = ".")
{
$dir = dir($path);
while(false !== ($file = $dir->read()))
{
if(("." == $file) OR (".." == $file))
continue;
if(is_dir($path."/".$file)) {

echodir($path."/".$file);
}
else
{
if ($file=="filelist.php"){
}
else{
echo('<filename>'.$path.'/'.$file.'</filename><br>\n');
}
}
}
$dir->close();
}



echodir();
?>
[/php-brief]


Dass, sollte es schon gewesen sein evt musst du den String auch einfach nur Escapen..
 
Wenn Du die HTML-Eigenen Zeichen < und > für den User im Browser sichtbar ausgeben willst, solltest Du sie als &lt; bzw. &gt; maskieren.

Gruß hpvw
 
Zurück