Toon posts:

[PHP] File listing

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een scriptje om bestanden als att. met een mail te versturen, nu moeten die bestanden uit een lijstje gekozen worden, maar eerst moet ik die bestanden eens op het scherm toveren, ik heb de volgende code :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
Function searchdir($basedir)
{
global $filelisting, $number; 
    unset($filelisting); 
    unset($number); 
    $handle=opendir($basedir);
        while ($file = readdir($handle)) {
            if ($file=="." or $file=="..") {
            } else {
            $filelisting[]="$basedir$file";
            };
        };

    $number=sizeof($filelisting); 
};


searchdir("./"); 
echo $filelisting[0]; 
echo $number; 
?>

Maar dit resulteert in niets, ik test de array door de eerste waarde op te vragen. Er staan bestanden in de dir.

Verwijderd

Topicstarter
Het probleem met de filelisting is opgelost, nu de rest nog
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
<?
$i=0;
$handle=opendir('.');
while (false!==($file = readdir($handle))) {
    if (is_file($file) &amp;&amp; eregi("\.txt$",$file)) {
        $arr[$i++] = $file;
    }
}
closedir($handle);
sort($arr);
$n = $i;
print "<table width=100% border=0>";
for ($i=0; $i < $n; $i++)
{
    print "<tr>";
    print "<td>";
    print "<input type=radio name=radiobutton value=$arr[$i]>";
    print "</td>";
    print "<td>";
    print "$arr[$i]\n";
    print "</tr>";
}
print "</table>";
?>

Verwijderd

Global zorgt er voor dat variabelen buiten de functie bereikbaar worden binnen de functie, niet andersom.

Je zult het dus als return waarde moeten geven:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
Function searchdir($basedir)
{
global $filelisting, $number; 
    unset($filelisting); 
    unset($number); 
    $handle=opendir($basedir);
        while ($file = readdir($handle)) {
            if ($file=="." or $file=="..") {
            } else {
            $filelisting[]="$basedir$file";
            };
        };
    $returnwaarde['filelisting'];
    $returnwaarde['number']=sizeof($filelisting); 
    return $returnwaarde;
};


$result=searchdir("./"); 
echo $result['number'];
$dirarray=$result['filelisting'];
?>

Die filelisting zal je met een loopje moeten weergeven.