JPG Dateien direkt Downloaden

SMHAMK1985
Hallo,

ich will jetzt einen neuen Bilder Gallery für meine Seite machen, und wollte gerne dort die Bilder (*.jpg) zum Download freigeben.

Ich habe auch ein script dafür gefunden der das macht, bloß dort muss ich immer die genaue Dateiname angeben damit er das runterladet. Aber für über 800 Bilder wird das schon einbisschen zu viel. Gäbe es einen script bei der man die dateitypen mit der Endung *.jpg direkt Downloaden kann?

Oder kann man das script umschreiben???

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<?
$erlaubt = array("Bild_1.jpg", "Bild_2.jpg", "Bild_3.jpg");

if (in_array($_GET[file], $erlaubt)){
header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=".$_GET[file]);
readfile($_GET[file]);
}else{
die("Datei nicht verfügbar");
}
?>


Würde mcih freuen wenn ihr mir dabei helfen würdet.

DANKE

MfG
XundY
Was meinst du alle 800 Bilder auf einmal?

mfg
SMHAMK1985
Hallo,

also ich habe rund 800 Bilder die ich anbieten möchte. Aber zum Downloaden muss ich die ja in die Variable $erlaubt eintragen, damit er das überhaupt finden und downloaden kann.

Danke für deine Hilfe.

MfG
XundY
nun willst du alle Dateien einlesen und alle die mit jpg enden in die Variable $erlaubt schreiben?

mfg
SMHAMK1985
Also im prinzip möchte ich das dieser script die Bilder mit der Dateiendung *.jpg direkt downloaden lässt ohne die vorher zu öffnen.

Danke für deine Hilfe

MfG
XundY
Dann m ußt du doch nur mit einem Script das Verzeichnis auslesen und bei allen jpg-Dateien generierst du einen entsprechenden Link,
wird allerdings bei großer Anzahl von jpgs ne lange Liste großes Grinsen

mfg
SMHAMK1985
hehehe Genau das wird es wohl sein und deswegen will ich ja das die Dateien mit der Dateiendung *.jpg herruntergeladen werden können.

Würde mich freuen wenn du mir dabei helfen würdest und eine Lange liste für mich sparen lässt großes Grinsen

DANKE

MfG
XundY
Völlig simple wäre wohl das:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
<?PHP
$verz=opendir('.');

while($file = readdir($verz)){
  if($file != '.' && $file != '..' && substr($file,-3)=="jpg")
    echo "<img src=\"$file\" border=\"0\" alt=\"\" titel=\"\" />" . '<br>';
}

closedir($verz);
?>


Mfg
SMHAMK1985
Hallo XundY,

ich habe nochmal ne Frage für diesen Script:

ich möchte gerne folgendes Bild aufrufen:

code:
1:
download.php?file=test/galeri/test/resim/hemsinliyiz_tasocaklari_toplanti(6).jpg


aber funktioniert nicht woran könnte es denn liegen?

Inhalt der download.php:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
<?
$verz=opendir('.');
$pics='';
while($file readdir($verz)){
  if($file != '.' && $file != '..' && substr($file,-3)=="jpg")
   if($pics==''$pics=$file;
   else $pics.=",".$file;
}

closedir($verz);
$erlaubt explode(",",$pics);

if (in_array($_GET[file], $erlaubt)){
header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=".$_GET[file]);
readfile($_GET[file]);
}else{
die("Datei nicht verfügbar");
}
?>


Danke für deine Hilfe

Mfg
XundY
Der fehler ist der Pfad im Dateinamen!

Die datei muß im Verzeichnis der ownloads liegen, dann kannste das Bild einfach per PfadZurdonwload.php?file=Dateiname aufrufen


mfg
SMHAMK1985
OK musste ich auch so machen... Danke für deine Hilfe

MfG