foto verkleinen voor het opslaan
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
openfile("appheader");
openfile("preload");
if(isset($_POST['submit']))
{
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{
$data=base64_encode(file_get_contents($_FILES['bestand']['tmp_name']));
fieldById($user['id'],"picture",$data);
?>
openfile("appheader");
openfile("preload");
if(isset($_POST['submit']))
{
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{
$data=base64_encode(file_get_contents($_FILES['bestand']['tmp_name']));
fieldById($user['id'],"picture",$data);
?>
<div id="msg"><div id="green">Profiel afbeelding geupload</div></div>
<form method="POST" action="picture.uspx" enctype="multipart/form-data">
<div style="width:20px;float:left;height:25px;"></div>
<div style="width:480px;float:left;height:25px;"><input type="file" name="bestand" style="width:470px;"></div>
<input style="float:right;margin-left:5px;" onclick="top.frame_close()" class="button" type="button" value="Annuleren">
<input style="float:right;" class="button" type="submit" value="Uploaden" name="submit">
</form>
Dat is momenteel mijn code,
maar nu slaat hij de foto's te groot op,
de foto's zouden max 500px bij 300px mogen zijn waardoor deze wel sneller worden met laden,
kan iemand mij vertellen hoe ik dat het beste kan doen?
Plaats even
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
openfile("appheader");
openfile("preload");
if(isset($_POST['submit']))
{
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{
$data=base64_encode(file_get_contents($_FILES['bestand']['tmp_name']));
fieldById($user['id'],"picture",$data);
?>
openfile("appheader");
openfile("preload");
if(isset($_POST['submit']))
{
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{
$data=base64_encode(file_get_contents($_FILES['bestand']['tmp_name']));
fieldById($user['id'],"picture",$data);
?>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<form method="POST" action="picture.uspx" enctype="multipart/form-data">
<div style="width:20px;float:left;height:25px;"></div>
<div style="width:480px;float:left;height:25px;"><input type="file" name="bestand" style="width:470px;"></div>
<input style="float:right;margin-left:5px;" onclick="top.frame_close()" class="button" type="button" value="Annuleren">
<input style="float:right;" class="button" type="submit" value="Uploaden" name="submit">
</form>
<div style="width:20px;float:left;height:25px;"></div>
<div style="width:480px;float:left;height:25px;"><input type="file" name="bestand" style="width:470px;"></div>
<input style="float:right;margin-left:5px;" onclick="top.frame_close()" class="button" type="button" value="Annuleren">
<input style="float:right;" class="button" type="submit" value="Uploaden" name="submit">
</form>
Dat is momenteel mijn code,
maar nu slaat hij de foto's te groot op,
de foto's zouden max 500px bij 300px mogen zijn waardoor deze wel sneller worden met laden,
kan iemand mij vertellen hoe ik dat het beste kan doen?
hier ook meteen de fieldbyid functie:
Als ik het dus goed heb, sla je de foto op in een tabel als een BLOB? Ten strengste af te raden, daar is een database niet voor bedoeld...
Door eerst te kijken of het geuploade bestand een geldig plaatje is, kun je hem vervolgens verkleinen. Houd er wel rekening mee, dat als je een fixed breedte én hoogte meegeeft, je de foto uit z'n proporties haalt.
Ik denk dat je hier wel wat mee kunt: site:phphulp.nl foto upload resize ~ 54 resultaten! :-)
Het is nog niet gelukt, aangezien het naar een mysql database wordt geschreven
Een verwijzing hoop ik dan?
-- samengevoegd, vorig bericht was om 16/07/2010 15:13:28 --
ik had dit:
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
openfile("appheader");
openfile("preload");
if(isset($_POST['submit']))
{
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{
$image =$_FILES["file"]["name"];
$uploadedfile = $_FILES['file']['tmp_name'];
if ($image)
{
$filename = stripslashes($_FILES['file']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
echo ' Unknown Image extension ';
$errors=1;
}
else
{
$size=filesize($_FILES['file']['tmp_name']);
if ($size > MAX_SIZE*1024)
{
echo "You have exceeded the size limit";
$errors=1;
}
if($extension=="jpg" || $extension=="jpeg" )
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefromjpeg($uploadedfile);
}
else if($extension=="png")
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefrompng($uploadedfile);
}
else
{
$src = imagecreatefromgif($uploadedfile);
}
list($width,$height)=getimagesize($uploadedfile);
$newwidth=60;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
$newwidth1=25;
$newheight1=($height/$width)*$newwidth1;
$tmp1=imagecreatetruecolor($newwidth1,$newheight1);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight, $width,$height);
imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1, $width,$height);
$filename = "images/". $_FILES['file']['name'];
$filename1 = "images/small". $_FILES['file']['name'];
imagejpeg($tmp,$filename,100);
imagejpeg($tmp1,$filename1,100);
imagedestroy($src);
imagedestroy($tmp);
imagedestroy($tmp1);
}
}
$data=base64_encode($tmp);
fieldById($user['id'],"picture",$data);
fieldById($user['id'],"picturesaved",date('YmdHis-'.$user['id'].''));
?>
<div id="msg"><div id="green">Profiel afbeelding geupload</div></div>
<?php
}
}
?>
<form method="POST" action="picture.uspx" enctype="multipart/form-data">
<div style="width:20px;float:left;height:25px;"></div>
<div style="width:480px;float:left;height:25px;"><input type="file" name="bestand" style="width:470px;"></div>
<input style="float:right;margin-left:5px;" onclick="top.frame_close()" class="button" type="button" value="Annuleren">
<input style="float:right;" class="button" type="submit" value="Uploaden" name="submit">
</form>
<?php
openfile("appfooter");
?>
openfile("appheader");
openfile("preload");
if(isset($_POST['submit']))
{
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{
$image =$_FILES["file"]["name"];
$uploadedfile = $_FILES['file']['tmp_name'];
if ($image)
{
$filename = stripslashes($_FILES['file']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
{
echo ' Unknown Image extension ';
$errors=1;
}
else
{
$size=filesize($_FILES['file']['tmp_name']);
if ($size > MAX_SIZE*1024)
{
echo "You have exceeded the size limit";
$errors=1;
}
if($extension=="jpg" || $extension=="jpeg" )
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefromjpeg($uploadedfile);
}
else if($extension=="png")
{
$uploadedfile = $_FILES['file']['tmp_name'];
$src = imagecreatefrompng($uploadedfile);
}
else
{
$src = imagecreatefromgif($uploadedfile);
}
list($width,$height)=getimagesize($uploadedfile);
$newwidth=60;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);
$newwidth1=25;
$newheight1=($height/$width)*$newwidth1;
$tmp1=imagecreatetruecolor($newwidth1,$newheight1);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight, $width,$height);
imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1, $width,$height);
$filename = "images/". $_FILES['file']['name'];
$filename1 = "images/small". $_FILES['file']['name'];
imagejpeg($tmp,$filename,100);
imagejpeg($tmp1,$filename1,100);
imagedestroy($src);
imagedestroy($tmp);
imagedestroy($tmp1);
}
}
$data=base64_encode($tmp);
fieldById($user['id'],"picture",$data);
fieldById($user['id'],"picturesaved",date('YmdHis-'.$user['id'].''));
?>
<div id="msg"><div id="green">Profiel afbeelding geupload</div></div>
<?php
}
}
?>
<form method="POST" action="picture.uspx" enctype="multipart/form-data">
<div style="width:20px;float:left;height:25px;"></div>
<div style="width:480px;float:left;height:25px;"><input type="file" name="bestand" style="width:470px;"></div>
<input style="float:right;margin-left:5px;" onclick="top.frame_close()" class="button" type="button" value="Annuleren">
<input style="float:right;" class="button" type="submit" value="Uploaden" name="submit">
</form>
<?php
openfile("appfooter");
?>
Welke fout heb ik gemaakt?
Binnen de 24 uur geen nieuwe post plaatsen, graag uw huidige post wijzigen (niet bumpen).[/modedit]
Gewijzigd op 16/07/2010 15:29:15 door Tom Beuckelaere