Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Unterverzeichnisse auslesen
Frage
Hallo! Wie kann ich Unterverzeichnisse und Verzeichnisse auslesen lassen von festplatte als Link?
Weiss leider nicht wo ich den Pfad angeben kann
Antwort 1 von hepuc
meinst Du sowas? Das Beispiel liest die Unterverzeichnisse aus einem Verzeichnis und steööt die enthaltenen Dateie als Link dar.
$Startverzeichnis="TestVerzeichnis";
$handleOrdner=opendir($Startverzeichnis);
while ($Verzeichnis = readdir ($handleOrdner)) {
if (is_dir($Startverzeichnis.'/'.$Verzeichnis)){
if ($Verzeichnis != "." && $Verzeichnis != "..") {
$handle=opendir($Startverzeichnis.'/'.$Verzeichnis);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") { $aktDat=$Startverzeichnis."/".$Verzeichnis."/".$file;
$aktDatStripped=ereg_replace(" ", "%20", $aktDat);
echo '<a href="'.$aktDatStripped.'">'.$file.'</a>';
}
}
}
closedir($handle);
$Startverzeichnis="TestVerzeichnis";
$handleOrdner=opendir($Startverzeichnis);
while ($Verzeichnis = readdir ($handleOrdner)) {
if (is_dir($Startverzeichnis.'/'.$Verzeichnis)){
if ($Verzeichnis != "." && $Verzeichnis != "..") {
$handle=opendir($Startverzeichnis.'/'.$Verzeichnis);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") { $aktDat=$Startverzeichnis."/".$Verzeichnis."/".$file;
$aktDatStripped=ereg_replace(" ", "%20", $aktDat);
echo '<a href="'.$aktDatStripped.'">'.$file.'</a>';
}
}
}
closedir($handle);
Antwort 2 von Jessy
Genau das meine ich danke, werd es mal ausprobieren!
Antwort 3 von Jessy
Hallo hab es ausprobiert, klappt irgendwie nicht, brauch ich nur ganz oben den verzeichnispfad eintragen ja? und was bedeutet die %20?
Antwort 4 von hepna
Hi,
ja, oben den Pfad eintragen entweder relativ oder mit ..\ dann gehts vom Stammverzeichnis aus.
Die %20 ersetzt die Leerzeichen in den Links.
Was geht denn genau nicht? Und welche Fehlermeldung bekommst du?
ja, oben den Pfad eintragen entweder relativ oder mit ..\ dann gehts vom Stammverzeichnis aus.
Die %20 ersetzt die Leerzeichen in den Links.
Was geht denn genau nicht? Und welche Fehlermeldung bekommst du?
Antwort 5 von hepna
Noch ein kurzer Nachtrag:
schau mal bei www.php.net da findest du eine Anleitung wie's geht.
schau mal bei www.php.net da findest du eine Anleitung wie's geht.
Antwort 6 von Jessy
Danke aber ich bekomme immer diese Meldung:
Parse error: syntax error, unexpected $end in c:\Inetpub\wwwroot\Test\test.php on line 16
Parse error: syntax error, unexpected $end in c:\Inetpub\wwwroot\Test\test.php on line 16
Antwort 7 von hepna
OK, meine Schuld, es fehlten ein paar Klammern:
<?
$Startverzeichnis="TestVerzeichnis";
$handleOrdner=opendir($Startverzeichnis);
while ($Verzeichnis = readdir ($handleOrdner)) {
if (is_dir($Startverzeichnis.'/'.$Verzeichnis)){
if ($Verzeichnis != "." && $Verzeichnis != "..") {
$handle=opendir($Startverzeichnis.'/'.$Verzeichnis);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") { $aktDat=$Startverzeichnis."/".$Verzeichnis."/".$file;
$aktDatStripped=ereg_replace(" ", "%20", $aktDat);
echo '<a href="'.$aktDatStripped.'">'.$file.'</a><br>';
}}}
}
}
closedir($handle);
?>
So geht's, hab's getestet.
<?
$Startverzeichnis="TestVerzeichnis";
$handleOrdner=opendir($Startverzeichnis);
while ($Verzeichnis = readdir ($handleOrdner)) {
if (is_dir($Startverzeichnis.'/'.$Verzeichnis)){
if ($Verzeichnis != "." && $Verzeichnis != "..") {
$handle=opendir($Startverzeichnis.'/'.$Verzeichnis);
while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") { $aktDat=$Startverzeichnis."/".$Verzeichnis."/".$file;
$aktDatStripped=ereg_replace(" ", "%20", $aktDat);
echo '<a href="'.$aktDatStripped.'">'.$file.'</a><br>';
}}}
}
}
closedir($handle);
?>
So geht's, hab's getestet.