aruba1
Goto Top

Download über eine Auswahlbox

Hallo,

ich suche eine Möglichkeit donwloads anzubieten die in einem bestimmten Verzeichnis liegen.

Ich stelle mir das so vor.
Ich habe eine Seite mit einem Dropdownmenü. Dieses Menü, wenn es geöffnet wird schaut in einem bestimmten Verzeichnis nach welche Dateien da liegen und listet diese auf. Nach der Auswahl soll man auf download klicken und schwups ist die Datei auf dem PC.

Vielen Dank für eure Hilfe im voraus.

PS: In PHP bin ich ziemlicher Anfänger

Content-ID: 128105

Url: https://administrator.de/contentid/128105

Ausgedruckt am: 25.11.2024 um 17:11 Uhr

godlie
godlie 28.10.2009 um 12:54:39 Uhr
Goto Top
Hallo,

das ist ganz einfach.
Nachdem der Benutzer sich eine Datei im Dropdown ausgesucht hat, schickst du ihn mit der Form wetier auf eine Seite ( formprocess.php z.b. )
dort drinnen hast du dann folgendes:
<?php
$Datei = ""; // hier natürlich deine Variable aus dem Dropdown $_POST['']   
$Dateiname = basename($Datei);
$Größe = filesize($Datei);
header("Content-Type: application/force-download");  
header("Content-Disposition: attachment; filename="$Dateiname"");  
header("Content-Length: $Größe");  
readfile($Datei);
?> 

Was du allerdings nicht vergessen solltest, wäre die Überprüfung des Inhalts der POST Variable.
aruba1
aruba1 28.10.2009 um 13:55:35 Uhr
Goto Top
Hallo,

kannst du mir vielleicht bei der Erstellung der Dropdownliste helfen? Ich hab keine Ahnung wie ich das angehen soll. Wie gesagt, ich bnin mit PHP ein ziemlicher Anfänger. Am besten wäre eine Step by Step Anleitung.

Vielen Dank
godlie
godlie 28.10.2009 um 14:02:16 Uhr
Goto Top
Hallo,

schau dir einfach mal readdir an http://at2.php.net/readdir.
Weiters würd ich mir mal http://tut.php-quake.net/de/ ansehen, da sind so ziemlich alle Basics abgedeckt.

Mit readdir kannst dir das Verzeichnis auslesen und dann die jeweiligen Options hinzubauen ....
sspssp
sspssp 06.11.2009 um 11:01:46 Uhr
Goto Top
Dieser Code in die Auswahlbox:
<?php
$downloadordner="ordner/unterordner";  
$hauptordner = dir($downloadordner);// wichtig: KEINE slashes am Anfang und am Ende! 
while($datei=$hauptordner->read()) 
 { 
  if($datei != "." && $datei != "..") // es wird überprüft, ob es sich bei der Datei um einen Ordner handelt. Die Ausgabe erfolgt nur, falls dies nicht der Fall ist   
   { 
    echo "<option value='".$downloadordner.$datei.'">".$datei."</oprion>  
   } 
$hauptordner->close();  

?>
Das sollte funktionieren, leider habe ich grade keine möglichkeit das zu testen.