Upload ähnlich: File von Server auswählen, nicht Desktop

hab1cht

Erfahrenes Mitglied
Hallo,
ich habe auf meinem Server eine Bilderordner, jetzt möchte ich per <input type="file"> so ein Bild auswählen könen und ...

Mit dem Formularelement "file" kann ich aber nur auf meinen PC zugreifen, nicht auf den Server. Hoffe ihr versteht mich.

Wie krieg ich es hin dass ich vom Server Dateien auswählen kann? (mir fiele nur ein die Bilder per readdir auszulesen)

So eine schöne grafische Oberfläche wie bei "input file" wäre nicht schlecht.

mfg
hab1cht
 
Zuletzt bearbeitet:
Wie krieg ich es hin dass ich vom Server Dateien auswählen kann? (mir fiele nur ein die Bilder per readdir auszulesen)
Also mit einem File-Input wird sich das nicht regeln lassen, da dieses ja nur clientseitige Dateien auswaehlen kann.
Du koenntest aber mit dem von Dir erwaehnten readdir() das Verzeichnis auswaehlen und diese in einer Listbox oder Combobox anzeigen, je nachdem was Dir eben besser gefaellt.
 
so, jetzt kommen die ersten Probleme:
ich habe einen Ordner images/ dort gibt es wiederum Unterordner, wie mache ich es, dass ich alle Ordner in ein Dropdownmenu kriege? Bzw. wie finde ich heraus wann ich es mit einem Ordner und wann mit einer Datei zu tun habe?

Soll dann ungefähr so aussehen ("/images" muss nicht mehr angezeigt werden):
\ordner1\
\ordner1\unterordner1\
\ordner1\unterordner2\
\ordner2\


mfg
hab1cht
 
Zuletzt bearbeitet:
sodele hab das jetzt so:
PHP:
<select size="1" onChange=""> //onChange=?
<?php
function ordner($dirid) {
    while (($file = readdir($dirid)) !==false) {
        if (($file !== ".") && ($file !== "..")) {
            if (is_dir($file)) {
                $curdir = getcwd();
                $datei = strstr($curdir, '\images')."\\";
                $datei .= "$file <br />\n";
		?>
		<option value="<?php echo $file ?>">
		<?php
		echo $datei;
		?></option>
		<?php
                chdir($file);
                $newdir = opendir(".");
                $closedir = ordner($newdir);
                closedir($closedir);
                chdir("..");
            } 
        }
    }
    return ($dirid);
}
$dirid = opendir(".");
$closedir = ordner($dirid);
closedir($closedir);
?>
</select>


<br>
<select size="10">

<?php
if ($handle = opendir($file)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && stristr($file, ".")) {
            echo "<option value=\"$file\">$file</option><br>";
        }
    }
    closedir($handle);
}
?>
</select>

Wie mach ich es jetzt dass im unteren Select immer die Bilder des im oben ausgewählten Ordner aufgelistet werden?

Vielen Dank im Voraus

mfg
hab1cht
 
Zuletzt bearbeitet:
Kann mir wirklich niemand helfen?
Ich will, dass in der unteren Select die Bilder des Ordners angezeigt werden, der im oberen Select gewählt wurde.
Das ganze muss man theoretisch mit Javascript machen, mit onChange oder soetwas in der Art, glaub ich.
Hoffe Ihr versteht mich.

Vielen Dank im Voraus

mfg
hab1cht
 
kann mir das einer en bisschen hinbasteln, weil ich hab keine Ahnung von Ajax :confused: .
Wäre sehr dankbar, ich denke das dauert nicht sehr lange wenn man weiß wie das geht.

mfg
hab1cht
 
Eigentlich brauchst du dazu weder JS noch AJAX, wenn du darauf verzichten kannst, dass das ganze "on the fly" funktioniert. Das ganze läuft dann in zwei Schritten ab: im ersten wird der Ordner ausgewählt und bestätigt. Die Daten werden per POST übergeben. Im zweiten Schritt wird dann überprüft ob $_POST[ 'ordner' ] vorhanden und gesetzt ist und das Select-Feld für die Dateiauswahl des Ordners angezeigt. Dann kann die Datei ausgewählt werden, was wieder bestätigt wird. Im Folgenden kann dann geprüft werden ob $_POST[ 'ordner' ] und $_POST[ 'datei' ] vorhanden ist und eben die entsprechende Aktion durchgeführt.

Mit nem einfach OnLoad kannst du das Programm bei Auswahl des Ordner einfach neu laden lassen, mit AJAX passiert das ja im Prinzip auch, nur dass nur die entsprechenden Infos neu aus geholt werden.
 
Zurück