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-Key: 128105

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

Printed on: April 16, 2024 at 16:04 o'clock

Member: godlie
godlie Oct 28, 2009 at 11:54:39 (UTC)
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.
Member: aruba1
aruba1 Oct 28, 2009 at 12:55:35 (UTC)
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
Member: godlie
godlie Oct 28, 2009 at 13:02:16 (UTC)
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 ....
Member: sspssp
sspssp Nov 06, 2009 at 10:01:46 (UTC)
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.