unrealzero_php
Erfahrenes Mitglied
Hallo Zusammen
hab mir ein kleines Script gebastelt, dass von einem einem Formular gesendete JPG-Dateien verkleinert. Dies funktioniert soweit einwandfrei.
Nun möchte ich die verkleinerte Datei direkt über den header an den Browser senden, so, dass das Bild nicht auf dem Server gespeichert werden muss sondern der Benutzer direkt auswählen kann wohin es auf den lokalen Rechner gespeichert werden soll. Wie muss ich da vorgehen?!
hab mir ein kleines Script gebastelt, dass von einem einem Formular gesendete JPG-Dateien verkleinert. Dies funktioniert soweit einwandfrei.
Nun möchte ich die verkleinerte Datei direkt über den header an den Browser senden, so, dass das Bild nicht auf dem Server gespeichert werden muss sondern der Benutzer direkt auswählen kann wohin es auf den lokalen Rechner gespeichert werden soll. Wie muss ich da vorgehen?!
PHP:
<?php
$img_type = $_FILES["datei"]["type"];
if($img_type == "image/pjpeg" || $img_type == "image/jpeg")
{
// Image-Upload-Verzeichnis definieren
$upload_dir = "tmp/";
// imagedir
$img_dir = "test/";
// Dateiname der hochgeladenen Datei ermitteln
$dateiname = $_FILES["datei"]["name"];
// Hochgeladene Datei in Verzeichnis ablegen
move_uploaded_file($_FILES["datei"]["tmp_name"], $upload_dir.$_FILES["datei"]["name"]);
$new_size = 348;
$handle = opendir($upload_dir);
while (false!==($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$image = $upload_dir.$file;
$img_info = getimagesize($image);
$img_breite = $img_info[0];
$img_hoehe = $img_info[1];
if($img_breite > $img_hoehe)
{
$faktor = $new_size/$img_breite;
$new_breite = $new_size;
$new_hoehe = intval($faktor*$img_hoehe);
}
else
{
$faktor = $new_size/$img_hoehe;
$new_breite = intval($faktor*$img_breite);
$new_hoehe = $new_size;
}
if($img_info[2]==2)
{
$img_orig = ImageCreateFromJPEG($image);
$new_image = imagecreatetruecolor($new_breite, $new_hoehe);
ImageCopyResampled($new_image, $img_orig, 0, 0, 0, 0, $new_breite, $new_hoehe, $img_breite, $img_hoehe);
ImageJPEG($new_image, $img_dir.$file,80);
}
}
}
// JPG-Datei im temporären Verzeichnis löschen
unlink($upload_dir.$dateiname);
}
//header("Content-type: image/jpeg");
//header("Content-Disposition: attachment; filename=$dateiname");
?>