Jpg uploaden + thumbnail aanmaken
Auteur: Slipie - 05 september 2004 - 13:25 - Gekeurd door: Dennisvb - Hits: 9754 - Aantal punten: 4.38 (8 stemmen)
Met dit script kan je Jpg plaatjes uploaden.
Er word dan gelijk een thumbnail van gemaakt.
CHMOD de mappen van de thumbnails en plaatjes naar 777
|
Code: |
<?
if (isset($_FILES['bestand'])) {
//de variabellen
$maxsize = 302400; //maximale grote in bytes
$file_name = "image"; //naam van de foto
$map = "bestanden/"; //mapnaam. Vergeet de / niet op het einde
//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");
}
//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 = 0;
// 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 = "bestanden/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 = imagecreate($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);
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).";
}
?>
<form action="" enctype="multipart/form-data" method="post">
<input type="file" name="bestand">
<input type="submit" name="submit" value="Upload">
</form>
<? if (isset($_FILES['bestand'])) { //de variabellen $maxsize = 302400; //maximale grote in bytes $file_name = "image"; //naam van de foto $map = "bestanden/"; //mapnaam. Vergeet de / niet op het einde //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"); } //checken of het wel een jpg is if($_FILES['bestand']['type'] == "image/pjpeg") { //de extensie van het bestand in een variabelle gooien $n = 0; // 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 = "bestanden/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 = imagecreate ($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); 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)."; } ?> <form action="" enctype="multipart/form-data" method="post"> <input type="file" name="bestand"> <input type="submit" name="submit" value="Upload"> </form>
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|