Afbeelding uploaden -> automatisch verkleinen

Status
Niet open voor verdere reacties.

DarkFeather

Gebruiker
Lid geworden
21 jan 2004
Berichten
134
Ik heb een script waarmee je plaatjes kan uploaden. Wil ik dat wanneer ik een foto upload, er ook een foto wordt geuploadt, maar dan ook automatisch wordt verkleind. Ik weet dat je hiervoor de GD-bibliotheek geinstalleerd moet hebben op je PHP-server. Dit is bij mij het geval.

Stel mijn variabele van de te uploaden foto = $foto. Hoe maak ik nu een scriptje dat ik in mijn uploadscript kan plaatsen, waardoor de foto nogmaals wordt geuploadt en dan ook automatisch verkleind? Ik hoef alleen dat stukje script te hebben, ik stop het zelf wel in mijn upload script.
 
gewoon nieuwsgierigheid,

heb je zelf een script gemaakt?
(ben namelijk zelf op zoek naar een scriptje om plaatjes up te loaden, maar na 't uploaden moeten de plaatjes ook te zien zijn.)
--> diegene die ik nu heb heeft wat probleempjes met de spatie (%20) :)

maar goed zal 's verder rondneuzen op www.hotscripts.com
 
Nee, van phpfreakz.nl gehaald en aanpassingen gemaakt waar nodig (een paar kleintjes)
 
Laatst bewerkt:
Geplaatst door JKoelman
--> diegene die ik nu heb heeft wat probleempjes met de spatie (%20) :)
De meeste problemen in scripts / programma's worden gemaakt door de gebruikers, echt. Het is niet jouw schuld dat de spatie niet goed werkt, moeten de gebruikers maar geen bestanden met spaties uploaden :rolleyes:.

Als voor de uploader van DarkFeather, met getimagesize() kun je de lengte en breedte van het plaatje ophalen, waarna je met imagecopyresized() het plaatje kunt verkleinen.

Succes :thumb:
 
Ik heb nu de volgende code, maar het plaatje wordt niet verkleind, maar hij snijdt alleen maar het bovenste hoekje uit de originele afbeelding:

PHP:
$image = imagecreatefromjpeg($file);  
list($breedte, $hoogte) = getimagesize($image) ;
$breedte /= 10;
$hoogte /= 10;
$image2= imagecreatetruecolor($breedte,$hoogte);   
imagecopyresampled($image2,$image,0,0,0,0,$breedte,$hoogte,$breedte,$hoogte);  
imagejpeg($image2,'thumbs/'.$n.'.JPG');   
imagedestroy($image);   
imagedestroy($image2);

Wat doe ik fout? Het nieuwe plaatje moet 10% van de originele zijn (daarom $breedte /= 10)

EDIT
Probleem opgelost!!! Code is nu:
PHP:
$image = imagecreatefromjpeg($file);  
list($breedte, $hoogte) = getimagesize($image) ;
$orgbr = $breedte;
$orgho = $hoogte;
$breedte /= 10;
$hoogte /= 10;
$image2= imagecreatetruecolor($breedte,$hoogte);   
imagecopyresampled($image2,$image,0,0,0,0,$breedte,$hoogte,$orgbr,$orgho);  
imagejpeg($image2,'thumbs/'.$n.'.JPG');   
imagedestroy($image);   
imagedestroy($image2);

De code kan beter, maar dat komt nog wel.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan