Hallo,
ich verwende das Script dropzone.js (http://www.dropzonejs.com/), um einen Multi-Bildupload mit Drag 'n Drop zu realisieren.
Das ganze funktioniert auch soweit, d.h. die Bilder werden hochgeladen und auch im gewünschten Ordner gespeichert.
Der PHP-Code lautet soweit
Nun habe ich das Script erweitert, denn ich möchte, dass die Bilder höchstens 800 Pixel breit sind:
Aber es will nicht funktionieren, die Bilder behalten ihre originale Breite. Habt ihr eine Idee warum mein Script nicht funktioniert? Oder gibt es noch viel einfachere Lösungen?
Bitte nicht über die Namen der Variablen $big und $bigfile wundern, die habe ich so genannt, weil ich später auch noch Thumbs von den Bildern erstellen möchte...
Danke im Voraus
ich verwende das Script dropzone.js (http://www.dropzonejs.com/), um einen Multi-Bildupload mit Drag 'n Drop zu realisieren.
Das ganze funktioniert auch soweit, d.h. die Bilder werden hochgeladen und auch im gewünschten Ordner gespeichert.
Der PHP-Code lautet soweit
PHP-Code:
$ds = DIRECTORY_SEPARATOR;
$storeFolder = '../../../gallery';
if(!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;
$targetFile = $targetPath. strtolower(str_replace(" ", "_", $_FILES['file']['name']));
move_uploaded_file($tempFile,$targetFile);
PHP-Code:
$ds = DIRECTORY_SEPARATOR;
$storeFolder = '../../../gallery';
if(!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds;
$targetFile = $targetPath. strtolower(str_replace(" ", "_", $_FILES['file']['name']));
move_uploaded_file($tempFile,$targetFile);
if(move_uploaded_file($tempFile,$targetFile)) {
$imagefile = $targetFile;
$imagesize = getimagesize($imagefile);
$imagewidth = $imagesize[0];
$imageheight = $imagesize[1];
$imagetype = $imagesize[2];
switch($imagetype) {
case 1: // GIF
$image = imagecreatefromgif($imagefile);
break;
case 2: // JPEG
$image = imagecreatefromjpeg($imagefile);
break;
case 3: // PNG
$image = imagecreatefrompng($imagefile);
break;
}
$factor = $imagewidth / 800;
$newHeight = $imageheight / $factor;
$big = imagecreatetruecolor(800, $newHeight);
imagecopyresampled($big,$image,0, 0, 0, 0, 800, $newHeight, $imagewidth, $imageheight);
$bigfile = $imagefile;
imagejpeg($big, $bigfile);
imagedestroy($big);
}
}
Bitte nicht über die Namen der Variablen $big und $bigfile wundern, die habe ich so genannt, weil ich später auch noch Thumbs von den Bildern erstellen möchte...
Danke im Voraus
Kommentar