Hallo beste PHP'ers
Ik ben momenteel bezig om op een index pagina, alle mp3tjes uit een onderliggende map kan selecteren en dan MAP + Link naar MP3 geven.

Ik heb namelijk de volgende structuur met mijn liedjes:

-htdocs
|---A
|---B
| |---Bill George
| |---Bonny St. Clair
| | |---Album 1
| | |---Album 2
| | |---Lied 1.mp3
| | |---Lied 2.mp3
| |---Borrel :D
|
|---C
ETC...

Op welke manier kan ik uit een onderliggende map een bestand selecteren die eindigd op MP3, en daarbij nog de mapnaam weergeven...
Is hier een functie of bestaand script voor?
Zo zoiets kunnen bij mijn structuur?

<?php
foreach (glob("*.mp3") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}

?>
ff wat vragen:

Is er een functie om alle onderliggende mappen te weergeven?
zodat deze automatisch alle mappen langs gaat
Je zal daarvoor je eigen recursieve functie moeten maken (vinden bij de php.net contributes)
Ja, ben aan het klooten met scandir enzo, maar ik heb nog geen functie gevonden voor alle onderliggende mappen in een array te stoppen tegen gekomen...

Misschien moet ik bij Explorer van D@rk ff kijken...
Gevonden:
Moest wel wat dingen aanpassen...

<?php
$path="MP3/";

readdirectory($path);
function readdirectory($path)
{
$level=getLevel($path);
if (!file_exists($path)) echo "not an existing directory";
if (!is_dir($path)) echo $path." isnt a directory";

$main_dir =opendir ($path) or die("Error reading ".$path);
$i=0;
while ($entry=readdir($main_dir))
{ $under = $path."/".$entry;
if (filetype($path."/".$entry)=="dir") {
if($entry!="." and $entry!=".."){
for($counter=0;$counter<=$level;$counter++){ echo "|___"; }
echo "directory: ".$entry."<br>";
readdirectory($path."/".$entry);

}
}
else if(filetype($path."/".$entry)=="file") {
for($counter=0;$counter<=$level;$counter++){ echo "|___ "; }

echo "File : <a href=\"".$under."\">".$entry."</a><br>";
}

}
}
function getLevel($path) {
str_replace("//","/",$path);
$num=substr_count($path,"/");
return $num-1;
}
?>

Reageren