PHP beginner |
|
Hallo.
Hoe verander ik de maten (resizen) van een foto?
Dit heb ik nu:
<html>
<head>
<title>Robiño-Rezizur</title>
<link rel="StyleSheet" href="tfol-nieuw.css">
</head>
<body bgcolor="#3465B3" text="#FFFFFF">
<?php
error_reporting(E_ALL);
//maximale breedte
$max_breedte = 550;
//als iemand een foto wil uploaden en indien nodig een foto wil resizen
if(isset($_POST['uploaden']))
{
//var's bepalen
$tmp_bestand = $_FILES['file']['tmp_name'];
$bestand = $_FILES['file']['name'];
$dir = $_POST['albnaam'];
//als er een foto is geselecteerd
if($bestand != "")
{
//album aanmaken
mkdir($dir);
//map openen
$open_map = opendir($dir);
$img_size = getimagesize($tmp_bestand);
$ori_breedte = $img_size[0];
$ori_hoogte = $img_size[1];
$ori_type = $img_size[2];
if($ori_type != 2)
{
echo("Alleen .jpg bestanden zijn toegestaan");
}
else{
if($ori_breedte <= $max_breedte)
{
move_uploaded_file($tmp_bestand, $dir."/".$bestand);
echo("<img src=\"http://www.treinfoto-online.net/Gastfotoalbum/$dir/$bestand\">");
}
else
{
//verhouding berekenen
$verhouding = $ori_breedte / $max_breedte;
//breedte berekenen en afronden
$nieuw_breedte = round($ori_breedte / $verhouding);
//hoogte berekenen en afronden
$nieuw_hoogte = round($ori_hoogte / $verhouding);
//resized foto opslaan
$n_img = imagecreate($nieuw_breedte,$nieuw_hoogte);
imagecopyresized($n_img, $bestand, 0, 0, 0, 0, $nieuw_breedte, $nieuw_hoogte, $ori_breedte, $ori_hoogte);
ImageJPEG($n_img);
move_uploaded_file($n_img, $dir."/".$bestand);
echo("<img src=\"http://www.treinfoto-online.net/Gastfotoalbum/$dir/$bestand\">");
}
}
}
}
?>
<form method="POST" action="" enctype="multipart/form-data">
<b>Albumnaam:</b> <input type="text" name="albnaam"/> (bv. Gebruiker_Plaats_dd-mm-jjjj !!GEEN spaties!!)<br><br>
<b>Foto:</b> <input type="file" name="file"/><br>
<input type="submit" name="uploaden" value="Uploaden!"/>
</form>
</body>
</html>
<html> <head> <title>Robio-Rezizur</title> <link rel="StyleSheet" href="tfol-nieuw.css"> </head> <body bgcolor="#3465B3" text="#FFFFFF"> <?php //maximale breedte $max_breedte = 550; //als iemand een foto wil uploaden en indien nodig een foto wil resizen if(isset($_POST['uploaden'])) { //var's bepalen $tmp_bestand = $_FILES['file']['tmp_name']; $bestand = $_FILES['file']['name']; $dir = $_POST['albnaam']; //als er een foto is geselecteerd if($bestand != "") { //album aanmaken //map openen $ori_breedte = $img_size[0]; $ori_hoogte = $img_size[1]; $ori_type = $img_size[2]; if($ori_type != 2) { echo("Alleen .jpg bestanden zijn toegestaan"); } else{ if($ori_breedte <= $max_breedte) { echo("<img src=\"http://www.treinfoto-online.net/Gastfotoalbum/$dir/$bestand\">"); } else { //verhouding berekenen $verhouding = $ori_breedte / $max_breedte; //breedte berekenen en afronden $nieuw_breedte = round($ori_breedte / $verhouding); //hoogte berekenen en afronden $nieuw_hoogte = round($ori_hoogte / $verhouding); //resized foto opslaan $n_img = imagecreate($nieuw_breedte,$nieuw_hoogte); imagecopyresized($n_img, $bestand, 0, 0, 0, 0, $nieuw_breedte, $nieuw_hoogte, $ori_breedte, $ori_hoogte); ImageJPEG($n_img); echo("<img src=\"http://www.treinfoto-online.net/Gastfotoalbum/$dir/$bestand\">"); } } } } ?> <form method="POST" action="" enctype="multipart/form-data"> <b>Albumnaam:</b> <input type="text" name="albnaam"/> (bv. Gebruiker_Plaats_dd-mm-jjjj !!GEEN spaties!!)<br><br> <b>Foto:</b> <input type="file" name="file"/><br> <input type="submit" name="uploaden" value="Uploaden!"/> </form> </body> </html>
en dan krijg ik dit:
Citaat: Warning: imagecopyresized(): supplied argument is not a valid Image resource in /data/members/paid/t/r/treinfoto-online.net/htdocs/www/Gastfotoalbum/resizer4.php on line 63
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC $.' ",#(7),01444'9=82<.342ÿÛC 2!!22222222222222222222222222222222222222222222222222ÿÀ&"ÿÄ ÿĵ}!1AQa "q2¡#B±ÁRÑð$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵ w!1AQ aq"2B¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ùþ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( en dat laatste 24 regels vaker
Als het plaatje niet geresized hoeft te worden dan werkt hij t wel
Grtn Robin
|