TecEye
New member
Hy Leute hab da mal wieder ein Problem, will ein Bild oder mehrere Bilder hochladen lassen, die dann aber auf maximal 300*300px skaliert werden sollen, habe mich strickt ans manual gehalten, aber irgendwie speichert er mir das skalierte Bild nicht. neue Breiten usw werden ausgegeben, orginamlbild wird auch in den ordner verschoben, rechte sind alle gegeben, aber wie gesagt das Thumb will es einfach nicht speichern. Seht ihr ev was ich falsch mache?
PHP:
$i = 0;
$maxsize = 300;
$folder = "./user/";
$allowedExtensions = array('jpg', 'jpeg', 'JPG', 'JPEG');
foreach($_FILES as $file) :
foreach($file['name'] as $filename) :
$extension = getExtension($filename);
if(!in_array($extension, $allowedExtensions)) {
echo 'FORBIDDEN EXTENSION', $filename;
++$i;
continue;
}
echo $filename."<br />";
$imageTmp = imagecreatefromjpeg ($file['tmp_name'][$i]);
$oWidth = imageSX($imageTmp);
$oHeight = imageSY($imageTmp);
echo "old = w:".$oWidth." h:".$oHeight."<br />";
if ($oWidth>$oHeight){
$nWidth = $maxsize;
$nHeight = round(($oHeight/$oWidth)*$maxsize);
}else{
$nHeight = $maxsize;
$nWidth = round(($oWidth/$oHeight)*$maxsize);
}
echo "new = w:".$nWidth." h:".$nHeight."<br />";
$new_name = md5(uniqid(rand()));
$imageResized = imagecreatetruecolor($nWidth, $nHeight);
imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $nWidth, $nHeight, $oWidth, $oHeight);
imagejpeg($imageResized, $folder.$new_name.'.jpg');
imagedestroy($imageResized);
echo "<img src='".$folder.$new_name.".jpg'><br />";
move_uploaded_file($file['tmp_name'][$i], $folder.$filename);
echo "<img src='".$folder.$filename."'><br />";
++$i;
endforeach;
endforeach;
//header("Location: test.php");
Zuletzt bearbeitet: