foto verdubbelen en resizen (Opgelost)
daanlaan - 16/09/2009 20:59
MySQL interesse
Op mijn site kunnen mensen foto's uploaden, maar deze zouden naar een bepaald formaat geresized moeten worden en het origineel moet ook nog worden behouden.
Is dat mogelijk via php?
10 antwoorden
Gesponsorde links
Stefan14 - 16/09/2009 21:02
PHP gevorderde
Dat is zeker mogelijk. Kijk maar eens naar de functie copy() van php.
Wanneer je dit doet voor het resizen, behoud je het originele formaat.
daanlaan - 16/09/2009 21:03 (laatste wijziging 16/09/2009 21:04)
MySQL interesse
amai als het zo simpel is, bedankt!
Maar dit wil ik dus gebruiken dat ik op die pagina slechts zeer kleine afbeeldingen moet laden, en de grotere pas wanneer je verder gaat naar de volgende pagina
Wave6 - 17/09/2009 07:50
PHP beginner
Ja voor het resizen van je afbeeldingen moet je GD gebruiken.
daanlaan - 17/09/2009 22:29
MySQL interesse
om die gd te grbuiken moet ik het een en ander installeren zeker?
Ik heb hier: ftp://ftp.uu.net/graphics/jpeg /
het bestand jpegsrc.v6b.tar.gz gedownload, maar er staat daar verder niets van waar ik die map moet plaatsen ofzo...
moet ik het gewoon op mijn ftp zetten en importeren?
Wave6 - 18/09/2009 07:41 (laatste wijziging 18/09/2009 18:31)
PHP beginner
DaanLaan GD Library staat (meestal) standaard al geinstalleerd in PHP 5.
Je hoeft er zelf niks voor te doen hoor. Wel is het zo dat je even wat basis regels moet kennen van GD.
http://www.php.net/gd
* De knop hier om een link te maken doet het niet.
daanlaan - 18/09/2009 16:30 (laatste wijziging 21/09/2009 23:31)
MySQL interesse
Ik had dit in een php pagina geplaatst maar krijg een code van een jpeg denk ik:
// File and new size
$filename = 'image1.jpg';
$percent = 0.5;
// Content type
header('Content-type: image/jpeg');
// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Output
imagejpeg($thumb);
// File and new size
$filename = 'image1.jpg' ;
$percent = 0.5 ;
// Content type
header ( 'Content-type: image/jpeg' ) ;
// Get new sizes
$newwidth = $width * $percent ;
$newheight = $height * $percent ;
// Load
$thumb = imagecreatetruecolor( $newwidth , $newheight ) ;
$source = imagecreatefromjpeg( $filename ) ;
// Resize
imagecopyresized( $thumb , $source , 0 , 0 , 0 , 0 , $newwidth , $newheight , $width , $height ) ;
// Output
imagejpeg( $thumb ) ;
Dit is mijn resultaat: http://topspeedracing.be/copy ().php
niemand een idee?
Martijn1989 - 21/09/2009 23:36
PHP ver gevorderde
<?php
if(is_uploaded_file($_FILES['afbeelding']['tmp_name'])) {
move_uploaded_file($_FILES['afbeelding']['tmp_name'], "fotos/groot/". $id_insert .".jpg");
#Thumbnail maken
$bron = imagecreatefromjpeg("fotos/groot/". $id_insert .".jpg") or die ("Jpg probleempje");
$b_breedte = imagesx($bron); // Bron breedte
$b_hoogte = imagesy($bron); // bron hoogte
$nieuw_breedte = 120;
$nieuw_hoogte = 120;
$nieuw_jpg = imagecreatetruecolor($nieuw_breedte ,$nieuw_hoogte) or die ("Probleem met maken van plaatje jpg");
imagecopyresampled($nieuw_jpg, $bron, 0, 0, 0, 0, $nieuw_breedte, $nieuw_hoogte, $b_breedte, $b_hoogte);
imagejpeg($nieuw_jpg,"fotos/klein/". $id_insert .".jpg",80); //80 is jpg kwaliteit
}
?>
<?php
move_uploaded_file ( $_FILES [ 'afbeelding' ] [ 'tmp_name' ] , "fotos/groot/" . $id_insert . ".jpg" ) ;
#Thumbnail maken
$bron = imagecreatefromjpeg
( "fotos/groot/" . $id_insert . ".jpg" ) or
die ( "Jpg probleempje" ) ; $b_breedte = imagesx( $bron ) ; // Bron breedte
$b_hoogte = imagesy( $bron ) ; // bron hoogte
$nieuw_breedte = 120 ;
$nieuw_hoogte = 120 ;
$nieuw_jpg = imagecreatetruecolor
( $nieuw_breedte , $nieuw_hoogte ) or
die ( "Probleem met maken van plaatje jpg" ) ; imagecopyresampled( $nieuw_jpg , $bron , 0 , 0 , 0 , 0 , $nieuw_breedte , $nieuw_hoogte , $b_breedte , $b_hoogte ) ;
imagejpeg( $nieuw_jpg , "fotos/klein/" . $id_insert . ".jpg" , 80 ) ; //80 is jpg kwaliteit
}
?>
Wave6 - 22/09/2009 09:35
PHP beginner
@ Koen als ik een http link in probeer te voegen dan krijg ik een javascript error maar dit lijkt al weer opgelost te zijn.
Excuses.
daanlaan - 23/09/2009 16:10
MySQL interesse
Ik krijg de foutmelding: Jpg probleempje
$locatie="img_uploads/";
$toegestaan = "jpg, gif, png";
$max_size = 500000;
set_time_limit(0);
if(isset($_POST['plaats_ad']))
{
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{
$extensie_bestand = pathinfo($_FILES['bestand']['name']);
$extensie_bestand = $extensie_bestand[extension];
$extensies_toegestaan = explode(", ", $toegestaan);
for($i = 0; $i < count($extensies_toegestaan); $i++)
{
if($extensies_toegestaan[$i] == "$extensie_bestand")
{
$ok = 1;
}
}
if($ok == 1)
{
if($_FILES['bestand']['size']>$max_size)
{
echo "Het bestand is te groot, de maximale grootte is: <b>$max_size</b>";
exit;
}
if(!move_uploaded_file($_FILES['bestand']['tmp_name'],
$locatie.$_FILES['bestand']['name']))
{
echo "het bestand kan niet worden verplaatst";
exit;
}
$bron = imagecreatefromjpeg("img_uploads/groot/".$_FILES['bestand']['name']."") or die ("Jpg probleempje");
$b_breedte = imagesx($bron);
$b_hoogte = imagesy($bron);
$nieuw_breedte = 65;
$nieuw_hoogte = 50;
$nieuw_jpg = imagecreatetruecolor($nieuw_breedte ,$nieuw_hoogte) or die ("Probleem met maken van plaatje jpg");
imagecopyresampled($nieuw_jpg, $bron, 0, 0, 0, 0, $nieuw_breedte, $nieuw_hoogte, $b_breedte, $b_hoogte);
imagejpeg($nieuw_jpg,"img_uploads/klein/".$_FILES['bestand']['name']."",80);
$locatie = "img_uploads/" ;
$toegestaan = "jpg, gif, png" ;
$max_size = 500000 ;
if ( isset ( $_POST [ 'plaats_ad' ] ) ) {
{
$extensie_bestand = pathinfo ( $_FILES [ 'bestand' ] [ 'name' ] ) ; $extensie_bestand = $extensie_bestand [ extension] ;
$extensies_toegestaan = explode ( ", " , $toegestaan ) ;
for ( $i = 0 ; $i < count ( $extensies_toegestaan ) ; $i ++ ) {
if ( $extensies_toegestaan [ $i ] == "$extensie_bestand " )
{
$ok = 1 ;
}
}
if ( $ok == 1 )
{
if ( $_FILES [ 'bestand' ] [ 'size' ] > $max_size )
{
echo "Het bestand is te groot, de maximale grootte is: <b>$max_size </b>" ; }
$locatie . $_FILES [ 'bestand' ] [ 'name' ] ) )
{
echo "het bestand kan niet worden verplaatst" ; }
$bron = imagecreatefromjpeg
( "img_uploads/groot/" . $_FILES [ 'bestand' ] [ 'name' ] . "" ) or
die ( "Jpg probleempje" ) ; $b_breedte = imagesx( $bron ) ;
$b_hoogte = imagesy( $bron ) ;
$nieuw_breedte = 65 ;
$nieuw_hoogte = 50 ;
$nieuw_jpg = imagecreatetruecolor
( $nieuw_breedte , $nieuw_hoogte ) or
die ( "Probleem met maken van plaatje jpg" ) ; imagecopyresampled( $nieuw_jpg , $bron , 0 , 0 , 0 , 0 , $nieuw_breedte , $nieuw_hoogte , $b_breedte , $b_hoogte ) ;
imagejpeg( $nieuw_jpg , "img_uploads/klein/" . $_FILES [ 'bestand' ] [ 'name' ] . "" , 80 ) ;
Nooit met zoiets gewerkt dus vind de fout toaal niet
Gesponsorde links
Dit onderwerp is gesloten .