Scripts
[Functie] Bestand namen uit map & submaps
Deze functie haalt alle bestand namen uit de map die je opgeeft, en alle submappen die in de opgegeven map staan. Het is een functie. Ik kan het zelf goed gebruiken, en hoop het zelfde voor een aantal mensen hier op PHPhulp.nl
functie-bestand-namen-uit-map-en-submaps
<?php
// Deze hebben we nodig, hier zetten we alle data in.
$output = Array ();
// We maken de functie get_data.
function get_data ($from = "./*", $link = false)
{
// We halen $output in de functie, want die hebben we nodig.
global $output;
// We halen alle bestandnamen + mappen uit de opgegeven map.
foreach (glob ($from) as $name)
{
// We kijken of we een dir te pakken hebben.
if (is_dir ($name))
{
// Zo ja, dan voeren we de functie weer uit, zodat we de data in de sub-mappen ook te pakken krijgen
get_data ($name . "/*", $link);
}
else if (!in_array ($name, $output))
{
// We hebben geen map te pakken, we kijken of we er een link van moeten maken of niet.
if ($link)
{
// We moeten er een link van maken, dus voegen we er een link aan de array toe.
$output[] = "<a href=\"" . $name . "\" alt=\"" . $name . " met size '" . filesize ($name) . "'\">$name</a>";
}
else
{
// We hoeven er geen link van te maken, dus voegen we hem toe aan de array zonder link.
$output[] = $name;
}
}
}
// We stuuren de array terug.
return $output;
}
// We echo'en <pre>, zodat de array mooi en leesbaar word.
echo "<pre>";
// Voorbeeld 1 (maakt geen link naar het bestand):
print_r (get_data ("./*"));
// Voorbeeld 2 (maakt wel een link naar het bestand):
print_r (get_data ("./*", true));
// We beƫindigen <pre> weer.
echo "</pre>";
?>
Reacties
0