PHP interesse |
|
Ik heb een probleem, ik heb net een code toegevoegd aan een upload systeem. om de pixel grote te checken alleen als de foto groter is dan toegestaan. Upload hij hem wel je krijg wel een melding maar ziet erover heen.
Als ik een } else { neer zet krijg je weer een fout. Hopelijk kan iemand me helpen, Alvast bedankt!
Dit is het script:
<?
if (isset($_FILES['bestand'])) {
//de variabellen
$maxsize = 302400; //maximale grote in bytes
$file_name = ''.$gb.''; //naam van de foto
$map = "/home/jornhoe/domains/happyprofile.nl/public_html/profiel/foto/images/"; //mapnaam. Vergeet de / niet op het einde
$plaatje = $bestand;
$size = GetImageSize($plaatje);
$breedte = $size[0];
$hoogte = $size[1];
$max_breedte = 150;
$max_hoogte = 200;
//De groote van het bestand vergelijken met het maximum toegelaten
if ($_FILES['bestand']['type'] > $maxsize){
exit("Je bestand " . $_FILES['bestand']['size'] . " bytes, het maximum toegelaten is " . $maxsize . " bytes");
}
elseif($breedte > $max_breedte) {
echo "De breedte is groter dan ".$max_breedte." px !"; }
elseif($hoogte > $max_hoogte) {
echo "De breedte is groter dan ".$max_hoogte." px !"; }
//checken of het wel een jpg is
if($_FILES['bestand']['type'] == "image/pjpeg") {
//de extensie van het bestand in een variabelle gooien
$x = strtolower(substr($_FILES['bestand']['name'], -3));
$n = 1;
// Check of het plaatje al bestaat, zo ja, filename verhogen
while (file_exists($map . $file_name . $n . '.' . $x))
{
$n = $n + 1;
}
$file_name = $file_name . $n;
//het bestand verplaatsen naar de opgegeven map en hernoemen naar de opgegeven filenaam
move_uploaded_file($_FILES['bestand']['tmp_name'],$map . $file_name . '.' . $x);
//bestand chmodden(is alleen van belang voor linux webserver)
chmod ($map . $file_name . '.' . $x, 0777);
$width = 100; //maximale breedte, in pixels, van de thumbnail
$thumb = "/home/jornhoe/domains/happyprofile.nl/public_html/profiel/foto/thumbs/" . $file_name . '.' . $x; //de map waar de thumbnails in komen(alleen tussen de quotes veranderen)
$orig = $map . $file_name . '.' . $x;
//het plaatje gaan verkleinen
$b = imagecreatefromjpeg($map . $file_name . '.' . $x) or die ("Jpg probleempje");
$bx = imagesx($b); //breedte van het orgineel
$by = imagesy($b); //hoogte van het orgineel
$lm = $b;
//hoogte uit rekennen
$temp=$bx/$width;
$height=$by/$temp;
//het plaatje gaan maken
$lm1 = imagecreatetruecolor($width ,$height) or die ("Probleem met maken van plaatje");
//als je geen GD library 2 hebt moet je imagecopyresampled veranderen in imagecopyresized(lagere kwaliteit)
imagecopyresampled($lm1, $lm, 0, 0, 0, 0, $width, $height, $bx, $by);
//80 is jpg kwaliteit maar je kan ook tot 120 gaan of lager dan 80
Imagejpeg($lm1,$thumb,80);
//de troep opruimen
imageDestroy($lm1);
imageDestroy($lm);
mysql_query("INSERT INTO `foto` (gbr, foto, datum, beschrijving) VALUES ('$gb', '$file_name', NOW(), '$beschrijving')");
echo "Het plaatje is succesvol opgeslagen";
//error printen als het geen jpg is
} else {
echo "Het bestands formaat word niet ondersteund.<br> Alleen jpg word toegelaten.";
}
} else {
echo "Kies een plaatje (alleen jpg).";
}
?>
<? if (isset($_FILES['bestand'])) { //de variabellen $maxsize = 302400; //maximale grote in bytes $file_name = ''.$gb.''; //naam van de foto $map = "/home/jornhoe/domains/happyprofile.nl/public_html/profiel/foto/images/"; //mapnaam. Vergeet de / niet op het einde $plaatje = $bestand; $breedte = $size[0]; $hoogte = $size[1]; $max_breedte = 150; $max_hoogte = 200; //De groote van het bestand vergelijken met het maximum toegelaten if ($_FILES['bestand']['type'] > $maxsize){ exit("Je bestand " . $_FILES['bestand']['size'] . " bytes, het maximum toegelaten is " . $maxsize . " bytes"); } elseif($breedte > $max_breedte) { echo "De breedte is groter dan ".$max_breedte." px !"; } elseif($hoogte > $max_hoogte) { echo "De breedte is groter dan ".$max_hoogte." px !"; } //checken of het wel een jpg is if($_FILES['bestand']['type'] == "image/pjpeg") { //de extensie van het bestand in een variabelle gooien $n = 1; // Check of het plaatje al bestaat, zo ja, filename verhogen { $n = $n + 1; } $file_name = $file_name . $n; //het bestand verplaatsen naar de opgegeven map en hernoemen naar de opgegeven filenaam //bestand chmodden(is alleen van belang voor linux webserver) chmod ($map . $file_name . '.' . $x, 0777); $width = 100; //maximale breedte, in pixels, van de thumbnail $thumb = "/home/jornhoe/domains/happyprofile.nl/public_html/profiel/foto/thumbs/" . $file_name . '.' . $x; //de map waar de thumbnails in komen(alleen tussen de quotes veranderen) $orig = $map . $file_name . '.' . $x; //het plaatje gaan verkleinen $b = imagecreatefromjpeg ($map . $file_name . '.' . $x) or die ("Jpg probleempje"); $bx = imagesx($b); //breedte van het orgineel $by = imagesy($b); //hoogte van het orgineel $lm = $b; //hoogte uit rekennen $temp=$bx/$width; $height=$by/$temp; //het plaatje gaan maken $lm1 = imagecreatetruecolor ($width ,$height) or die ("Probleem met maken van plaatje"); //als je geen GD library 2 hebt moet je imagecopyresampled veranderen in imagecopyresized(lagere kwaliteit) imagecopyresampled($lm1, $lm, 0, 0, 0, 0, $width, $height, $bx, $by); //80 is jpg kwaliteit maar je kan ook tot 120 gaan of lager dan 80 Imagejpeg($lm1,$thumb,80); //de troep opruimen imageDestroy($lm1); imageDestroy($lm); mysql_query("INSERT INTO `foto` (gbr, foto, datum, beschrijving) VALUES ('$gb', '$file_name', NOW(), '$beschrijving')"); echo "Het plaatje is succesvol opgeslagen"; //error printen als het geen jpg is } else { echo "Het bestands formaat word niet ondersteund.<br> Alleen jpg word toegelaten."; } } else { echo "Kies een plaatje (alleen jpg)."; } ?>
|