Hallo,
ich habe meine ersten Versuche mit PHP gemacht und habe jetzt ein paar kleine Probleme.
Ich möchte folgenden Code benutzen, um einen Ordner auszulesen und den Inhalt zum download verfügbar machen.
	
Die Probleme (siehe Kommentare):
1. Wenn ich den Link einer Datein anklicke, wechselt die Übersicht immer in den Ordner, welcher in $downpath gespeichert ist.
2. Wie kann ich dem Browser eine Datei mit dem Link $path."/".$download zum Download anbieten?
3. Wieso wird bei einem Klick auf .. der Pfad automatisch eine Ebene höher gesetzt, jedoch nur bis $downpath, ohne dass $path bearbeitet wird
4. Wie kann ich Pfade mit Leerzeichen auslesen?
Danke
					ich habe meine ersten Versuche mit PHP gemacht und habe jetzt ein paar kleine Probleme.
Ich möchte folgenden Code benutzen, um einen Ordner auszulesen und den Inhalt zum download verfügbar machen.
PHP Code:
	
	
<html>
<body>
<?php
    $downpath = 'e:/download';
    $filetype = 'txt'
    if (isset($path) == false) $path = $downpath;
    if (empty($download)&& empty($directory))
    {
        auflisten($path);
    }
    else
    {
        if (empty($directory) == false) directory($path, $directory, $downpath);
        if (empty($download) == false) download($path, $download);
    }
    
    function auflisten($path)
    {
        echo "<a href=\"$PHP_SELF?directory=root\">Download-Übersicht</a><br>";
        echo "<a href=\"$PHP_SELF?directory=..\">..</a><br><br><br>";
        $handle = opendir($path);
        while (false !== ($file = readdir($handle)))
        {
            //Datei & Endung
            if (is_file($path."/".$file) && substr(strrchr($file,'.'),1) == $filetype) 
echo "<a href=\"$PHP_SELF?download=$file\">$file</a><br>";
            //Ordner & nicht .. oder .
            if (is_dir($path."/".$file) && $file <> '..' && $file <> '.') 
echo "<a href=\"$PHP_SELF?directory=$file\">$file</a><br>";
        }
        closedir($handle);
    }
    
    function directory($path, $directory, $downpath)
    {
        //wenn Leerzeichen in Pfad, dann Fehler
        if ($directory == "..")
        {
            //3. Problem
            //Warum Pfadänderung ?
            auflisten($path);
        }
        else if ($directory == "root")
        {
            $path = $downpath;
            auflisten($path);
        }
        else
        {
            $path = $path."/".$directory;
            auflisten($path);
        }
    }
    
    function download($path, $download)
    {
        //1. Problem
        //Wenn Download, dann wird Pfad ($path) auf $downpath zurückgesetzt
        //2. Problem
        //Download = $path."/".$download
        auflisten($path);
    }
?>
</body>
</html>
1. Wenn ich den Link einer Datein anklicke, wechselt die Übersicht immer in den Ordner, welcher in $downpath gespeichert ist.
2. Wie kann ich dem Browser eine Datei mit dem Link $path."/".$download zum Download anbieten?
3. Wieso wird bei einem Klick auf .. der Pfad automatisch eine Ebene höher gesetzt, jedoch nur bis $downpath, ohne dass $path bearbeitet wird
4. Wie kann ich Pfade mit Leerzeichen auslesen?
Danke
EDIT: 
line break sponsored by asp2php. Bitte zukünftig selbst dafür sorgen,
dass man beim lesen nicht scrollen muss
 
          
 
							
						
Comment