[GD] Resize bij upload GD
Ik heb een upload script dat een copyrightbalkje eronder zet. Maar nu wordt de foto in originele formaat geupload (bijvoorbeeld 1600x....). Maar nu wil ik de foto uploaden op 800x600 (in ieder geval de breedte 800).
Hoe doe je dat?
Dit is het script zoals ik het nu heb:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
if($_SERVER['REQUEST_METHOD']=='POST')
{
$uploadpad = 'bestanden/';
$nieuwenaam = $_POST['txtRegistratie'] ;
$msg = '';
$img = '';
$foto = $_FILES['filBestand'];
if ( ( $foto['name']== '' ) )
{
$msg = 'Geen foto geselecteerd!<br>';
}
else
{
$size = $foto['size'];
if ( $size > 3024000 )
{
$msg = 'Bestand is $size bytes.<br>(maximum toegelaten is 3024000 bytes)<br>';
}
else
{
if ( $foto ['type'] == 'image/jpeg' || $foto['type'] == 'image/pjpeg' )
{
$n = 0;
while ( file_exists ( $uploadpad . $nieuwenaam . $n .'.jpg' ) )
{
$n++;
}
$nieuwenaam = $uploadpad . $nieuwenaam . $n .'.jpg';
$watermerk = "Copyright by ".$_POST['lstNaam']." // ".$_POST['txtDatumdag']."-".$_POST['txtDatummaand']."-".$_POST['txtDatumjaar']." // ".$_POST['txtLocatie']." // ".$_POST['txtRegistratie']." // ".$_POST['txtToestel']." // ".$_POST['txtMaatschappij'];
$img = imagecreatefromjpeg ( $foto['tmp_name'] );
$breedte = imagesx ( $img );
$hoogte = imagesy ( $img );
$copyright = imagecreatetruecolor ( $breedte , 30 );
$kleur = imagecolorallocate ( $copyright , 255 , 255 , 255 );
imagestring ( $copyright , 6 , 7 , 2 , $watermerk , $kleur );
imagecopy ( $img , $copyright , 0 , $hoogte - 20 , 0 , 0 , $breedte , 20 );
imagejpeg ( $img , $nieuwenaam , 100 );
chmod ( $nieuwenaam , 0777 );
$img= "<a href='$nieuwenaam' target='_blank'><img border='0' src='$nieuwenaam' width='300'></a>";
$msg= "<font color='green'><B>Het bestand is succesvol opgeslagen!</B></font><br><BR>Ga naar de <a href='./gallery'>gallerij</a> voor meer fotos";
unset($_POST);
}
else
{
$msg="<font color='red'><B>Het bestandsformaat wordt niet ondersteund.<br> Alleen .jpg is toegelaten.</B></font><br>";
}
}
}
}
?>
if($_SERVER['REQUEST_METHOD']=='POST')
{
$uploadpad = 'bestanden/';
$nieuwenaam = $_POST['txtRegistratie'] ;
$msg = '';
$img = '';
$foto = $_FILES['filBestand'];
if ( ( $foto['name']== '' ) )
{
$msg = 'Geen foto geselecteerd!<br>';
}
else
{
$size = $foto['size'];
if ( $size > 3024000 )
{
$msg = 'Bestand is $size bytes.<br>(maximum toegelaten is 3024000 bytes)<br>';
}
else
{
if ( $foto ['type'] == 'image/jpeg' || $foto['type'] == 'image/pjpeg' )
{
$n = 0;
while ( file_exists ( $uploadpad . $nieuwenaam . $n .'.jpg' ) )
{
$n++;
}
$nieuwenaam = $uploadpad . $nieuwenaam . $n .'.jpg';
$watermerk = "Copyright by ".$_POST['lstNaam']." // ".$_POST['txtDatumdag']."-".$_POST['txtDatummaand']."-".$_POST['txtDatumjaar']." // ".$_POST['txtLocatie']." // ".$_POST['txtRegistratie']." // ".$_POST['txtToestel']." // ".$_POST['txtMaatschappij'];
$img = imagecreatefromjpeg ( $foto['tmp_name'] );
$breedte = imagesx ( $img );
$hoogte = imagesy ( $img );
$copyright = imagecreatetruecolor ( $breedte , 30 );
$kleur = imagecolorallocate ( $copyright , 255 , 255 , 255 );
imagestring ( $copyright , 6 , 7 , 2 , $watermerk , $kleur );
imagecopy ( $img , $copyright , 0 , $hoogte - 20 , 0 , 0 , $breedte , 20 );
imagejpeg ( $img , $nieuwenaam , 100 );
chmod ( $nieuwenaam , 0777 );
$img= "<a href='$nieuwenaam' target='_blank'><img border='0' src='$nieuwenaam' width='300'></a>";
$msg= "<font color='green'><B>Het bestand is succesvol opgeslagen!</B></font><br><BR>Ga naar de <a href='./gallery'>gallerij</a> voor meer fotos";
unset($_POST);
}
else
{
$msg="<font color='red'><B>Het bestandsformaat wordt niet ondersteund.<br> Alleen .jpg is toegelaten.</B></font><br>";
}
}
}
}
?>
Er zijn nog geen reacties op dit bericht.