Hallo iedereen,

Ik gebruik een script om afbeeldingen te uploaden, het checkt op bestandstype maar nog niet op max file size, en dat probeer ik er nu dus bij te voegen.

In het form heb ik dit staan:
<input type="file" name="newimage1" size="20" id="image"/> 


En bij de configuratie staat:
 $max_filesize = 524288;


Bij de originele foutafhandeling staat dit:

//Saving the images
function SaveImages ($imagedir) {
	$imageendings = array ('gif', 'jpg', 'jpeg', 'png'); $m = array();
	if (!is_dir ($imagedir)) {mkdir ($imagedir); chmod ($imagedir, 0777);}
	//Check it's the right endings, etc
	if (isset ($_POST['remove'])) foreach ($_POST['remove'] as $image) 
		if (preg_match ("~^$imagedir.+\." . join ('|', $imageendings) . '$~', $image)) {$m[] = "Wissen afbeelding"; unlink ($image);}
		else $m[] = "Kan $image niet wissen";
	foreach ($_FILES as $formfield=>$filedata) {
		if (!$filedata['size']) continue; //nothing to upload
		$moveto = $imagedir . $filedata['name'];
		if ($filedata['error']) $m[] = "Kan $filedata[name] niet uploaden omdat: $filedata[error]";
		else if (!preg_match ('~\.' . join ('|', $imageendings) . '$~', $filedata['name'])) $m[] = "Kan  $filedata[name] niet uploaden";
		else {$m[] = "Bewaar afbeelding"; move_uploaded_file ($filedata['tmp_name'], $moveto); chmod ($moveto, 0666);}
		
		
	}
	return join ('<br/>', $m);
}


En daar probeer ik nu dit bij te voegen:
if(filesize($_FILES['newimage1']['tmp_name']) > $max_filesize)
      die('De afbeelding is te groot');

Helaas lukt dit niet goed, ofwel krijg ik de foutmelding als de afbeelding niet te groot is ofwel krijg ik helemaal geen foutmelding.
Hulp wordt erg gewaardeerd!
Groeten,
Filip
Jij wilt de tmp_name met de max_filesize vergelijken dit kan natuurlijk niet je moet dus kijken naar de size

if(filesize($_FILES['newimage1']['size']) > $max_filesize)
      die('De afbeelding is te groot'); 
Plus een toevoeging, ik zou geen die('') gebruiken..
Volgens mij gebruik je het in een functie? Zo ja return dan het (fout)melding/status.

Reageren