Hallöchen, ich hab ein kleines Problem.
Folgende Situation:
Ich habe einen Ordner auf meinem Server (Daten werden via FTP hochgeladen). Die Dateien (pdf, exe, zip, rar,...) sind in mehreren Unterordnern sortiert.
Dateien werden nur von mir via FTP hochgeladen und stehen den Besuchern für den Download bereit.
Nun will ich die Ordner auflisten und die jeweiligen Inhalte ausgeben lassen.
Diese sollen dann auch runterzuladen sein.
Ich habe derzeit folgendes Script:
PHP
<?php
if (!function_exists('scandir')) {
function scandir($directory, $sorting_order=0) {
if(!is_dir($directory)) {
return false;
}
$files = array();
$handle = opendir($directory);
while (false !== ($filename = readdir($handle))) {
$files[] = $filename;
}
closedir($handle);
if($sorting_order == 1) {
rsort($files);
} else {
sort($files);
}
return $files;
}
}
?>
<?php
function ordnerinhaltKunde($ordnerKunde='../uploadKunde') {
$contentKunde = "";
foreach(scandir($ordnerKunde) as $fileKunde) {
if($fileKunde[0] != '.') { // Versteckte Dateien nicht anzeigen
if(is_dir($ordnerKunde.'/'.$fileKunde)) {
$folderArrayKunde[] = $fileKunde;
} else {
$fileArrayKunde[] = $fileKunde;
}
}
}
// Erst die Ordner ausgeben
if(isset($folderArrayKunde)) {
foreach($folderArrayKunde as $row) {
$contentKunde .= '<b>'.$row.'</b><br />';
$contentKunde .= '<div style="padding-left:10px;color:#afafaf" />'; //Unterordner nach Rechts einrücken
$contentKunde .= ordnerinhaltKunde($ordnerKunde.'/'.$row); // rekursive Funktion
$contentKunde .= '</div>';
}
}
// ...dann die Dateien ausgeben
if(isset($fileArrayKunde)) {
foreach($fileArrayKunde as $row) {
$contentKunde .= '<a href="'.$ordnerKunde.'/'.$row.'">'.$row.'</a><br />'; //Dateien verlinken
}
}
// Rekursion ende
return $contentKunde;
}
echo ordnerinhaltKunde();
?>
Alles anzeigen
Damit bekomm ich 1A die Ordner und die darin befindlichen Dateien angezeigt.
Probleme:
- Ich kann die Dateien nicht mit einem links-Klick ansehen/speicher - kommt Fehler das keine Inhalte vorhanden sind
- .EXE, .ZIP, .RAR -Dateien werden fehlerhaft gespeichert und sind unbrauchbar oder werden nur als HTML-Dokumente gespeichert.
Hat vielleicht einer eine Lösung oder gibt es ein kleines PlugIn was das kann?