Ik heb ooit eens een script gemaakt om files te uploaden en te resizen. Nu werkt dat niet bij alle foto's. Ik krijg dan niet altijd de waarde 2 bij onderstaande functie (size is ook 0):

$type = getimagesize($dest);
if($type[2] == 2){

Ik kreeg ineens het vermoeden dat dat misschien iets te maken heeft met bestandsgrootte. Kleine bestanden (onder de 2 MB) gaan zonder problemen. Zit er een beperking aan de bestandsgrootte bij de funcites die ik in onderstaand script gebruik?

Bedankt!

Gr,
Robert

<?php
function create_new_JPGimage ($dest,$source,$picture,$DB_pathname,$oldfiles)
{
//Het geselecteerde bestand wordt weggeschreven. Als het oude bestand hetzelfde bestand hadm dan is deze inmiddels verwijderd, dus mag geen problemen geven bij deze functie.
move_uploaded_file($source,$dest);

global $type;
$type = getimagesize($dest);
if($type[2] == 2){

//Voor de foto wordt een jpg-image aangemaakt. (imagecreatefromjpeg() returns an image identifier representing the image obtained from the given filename. )
$photo = imagecreatefromjpeg ($dest);

global $photodetails;
$photodetails=$photo;

//afmetingen bepalen
$source_x = imagesx($photo);
$source_y = imagesy($photo);
$ratio = $source_x/$source_y;

//de verhoudingen van het logo worden opnieuw bepaald (breedte is 210)
if($source_x >= 750){
$target_x = 750;
$target_y = ceil(750/$ratio);
}else{
$target_x = $source_x;
$target_y = $source_y;
}

//nieuwe image maken en wegschrijven naar dir (imagecreatetruecolor() returns an image identifier representing a black image of size x_size by y_size. )
$create_blank = imagecreatetruecolor ($target_x, $target_y);

//imagecopyresized() copies a rectangular portion of one image to another image.
ImageCopyResized($create_blank, $photo, 0, 0, 0, 0, $target_x, $target_y, $source_x, $source_y);

global $new_filename;
$new_filename = "logo" . $picture;

//imagejpeg() creates the JPEG file in filename from the image image. The image argument is the return from the imagecreatetruecolor() function.
ImageJpeg($create_blank,$DB_pathname . $new_filename,100);

//imagedestroy() frees any memory associated with image image. image is the image identifier returned by one of the image create functions, such as
Imagedestroy($photo);

if(unlink($dest)==0){
echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Er is iets fout gegaan bij het verwijderen van de originele foto</SCRIPT>";
}
}
}
?>
h3h3 sorry verkeert om gezet(A)
Blijkbaar staat er in php.ini een beperking voor de up te loaden files:

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

Ik heb dit veranderd in 5M, probleem opgelost. En daar zot je dan een hele middag mee te klooien....

Reageren