functie-bestand-namen-uit-map-en-submaps
Gesponsorde koppelingen
PHP script bestanden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?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>";
?>
// 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>";
?>