Ik gebruik onderstaand script om afbeeldingen te uploaden en er thumnails van te maken. Dat werkt allemaal prima, alleen "stopt" het script soms juist voor het aanmaken van de thumbnails. Waarom is mij niet precies duidelijk.
Ziet iemand een fout in het script?
<?
$vastgoed_id = $_POST['vastgoed_id'];
$imagefile = $_FILES['imagefile'];
echo '<b>$_FILES[\'imagefile\']</b>:' . '<br />';
if (($imagefile['type'] == "image/jpeg") || ($imagefile['type'] == "image/pjpeg")) {
$base_dir = "../../upload/berben/" . $vastgoed_id;
$orig_dir = $base_dir . "/origineel";
$klein_dir = $base_dir . "/klein";
if (!is_dir($base_dir)) {
mkdir($base_dir, 0755);
}
if (!is_dir($orig_dir)) {
mkdir($orig_dir, 0755);
}
if (!is_dir($klein_dir)) {
mkdir($klein_dir, 0755);
}
$uploadfile = $orig_dir . '/' . $imagefile['name'];
if (is_uploaded_file($imagefile['tmp_name'])) {
move_uploaded_file($imagefile['tmp_name'], $uploadfile);
@chmod($uploadfile, 0644);
}
$image_file = $imagefile['name'];
$saved_image = $orig_dir . '/' . $imagefile['name'];
//variables
$thumbwidth = 100;
$imagequality = 100;
echo "<br />Copy Done...." . '<br />';
echo '<br />';
echo '$imagefile[\'name\'] = ' . $imagefile['name'] . "<br>";
echo '$imagefile[\'size\'] = ' . $imagefile['size'] . "<br>";
echo '$imagefile[\'type\'] = ' . $imagefile['type'] . "<br>";
//grab data
$thumbimage = $klein_dir . '/' . $image_file;
$thumb_exists = file_exists($thumbimage);
$size = getimagesize($saved_image);
echo '<br />';
echo '<b>getimagesize($imagefile[\'name\'])</b>' . '<br />';
foreach ($size as $key => $value) {
echo $tab . $key . ' => ' . $value . '<br />';
}
$width = $size[0];
$height = $size[1];
$type = $size[2];
echo '<br>';
echo 'width : ' . $width . '<br>';
echo 'height: ' . $height . '<br>';
echo 'type : ' . $type . '<br>';
echo '<br>';
//create thumb
if (!$thumb_exists) {
switch ($type) {
case 1 :
$im = imagecreatefromgif($saved_image);
break;
case 2 :
$im = imagecreatefromjpeg($saved_image);
break;
case 3 :
$im = imagecreatefrompng($saved_image);
break;
}
$newwidth = $thumbwidth;
$newheight = ceil(($newwidth / $width) * $height);
echo '<br />';
echo '$newwidth = ' . $newwidth . '<br />';
echo '$newheight = ' . $newheight . '<br />';
$im2 = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($im2, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
switch ($type) {
case 1:
imagegif($im2, $thumbimage);
break;
case 2:
imagejpeg($im2, $thumbimage, $imagequality);
break;
case 3:
imagepng($im2, $thumbimage);
break;
}
imagedestroy($im);
imagedestroy($im2);
echo '<br />';
echo 'grootte thumbnail: ' . filesize($thumbimage) . " in bytes" . '<br>';
echo '<br />';
echo "OK voor de kleine versie";
echo '<br />';
echo '<img src="' . $thumbimage . '" />';
}
} else {
echo "Opslaan ging mis. Dit formaat wordt niet ondersteund: (" . $_FILES['imagefile']['name'] . ")";
}
?>
813 views