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