profielfoto met bepaalde maten
Ik ben bezig met een website waar iedereen het "profiel" van een gebruiker kan bekijken. Maar ik zou willen dat die foto een standaard maat heeft. (De gebruiker van niets van programma's daarvoor gebruiken.) Dus alles moet op mijn website gebeuren.
wie kan me helpen?
mvg kasper
Daarma kan je resizen enzo.
je kan daarmee ook knippen,
staan zelf script van hier op deze site,
kijk maar in de andere php lib (script)
http://www.verot.net/php_class_upload.htm
Indien het je interesseert:
*download die php file met de uploader klasse
*een voorbeeld van het gebruik (voel je vrij om mijn functie uit te breiden, aan ta passen, ...)
formulier:
Code (php)
1
2
3
4
2
3
4
<form method="post" action="uploaden.php" enctype="multipart/form-data">
<div><input type="file" name="foto"/> </div>
<div><input type="submit" value="upload"/></div>
</form>
<div><input type="file" name="foto"/> </div>
<div><input type="submit" value="upload"/></div>
</form>
verwerken van de foto
hier als voorbeeld: uploaden.php
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
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
<?php
require_once('class.upload.php');
if ( !empty($_FILES['foto']) )
{
$file_new_name = 'avatar';
$max_image_size = 250; // max 250px
$processMap = 'avatar/'; // eigen map invullen. Zie dat de map de juiste rechten heeft
$result = uploadFile(
$_FILES["foto"],
$file_new_name,
$max_image_size,
$processMap ,
'jpg', // wordt omgezet naar .jpg
false // file overschrijven in geval de file met de zelfde naam al bestaat
);
if ($result['file_uploaded'])
{
$nieuweFile = $result['destination_name']. '.jpg';
// $nieuweFile kan je nu gebruiken als (nieuwe) waarde van de file in de dB
}
}
function uploadFile($file, $file_new_name, $max_image_size = 250, $processMap = 'avatar/', $imageType = 'jpg', $overwrite=1)
{
// voel je vrij om deze instellingen aan te passen
$m_foto = new upload($file );
$m_foto->file_safe_name = true; // replace white spaces with '_'
if ($overwrite)
{
$m_foto->file_overwrite = true; //
$m_foto->file_auto_rename = false; // disable auto renaming file when file already exists. sinds we want files to be overwritten. 1 user -> 1 avatar
}
else
{
$m_foto->file_overwrite = false;
$m_foto->file_auto_rename = true;
}
$m_foto->file_new_name_body = $file_new_name;
$m_foto->image_convert = $imageType;
// zien wat de lange kant is; daaruit wordt afgeleid of de width of height moet worden aangepast
$resize_image = "";
if ($m_foto->image_src_x >= $m_foto->image_src_y)
{
$thumb_resize_image = "x";
if ( $m_foto->image_src_x > $max_image_size)
{
$resize_image = "x";
}
}
else
{
$thumb_resize_image = "y";
if ( $m_foto->image_src_y > $max_image_size)
{
$resize_image = "y";
}
}
if ($resize_image == 'x')
{
$m_foto->image_resize = true;
$m_foto->image_x = $max_image_size;
$m_foto->image_ratio_y = true;
}
else if ($resize_image == 'y')
{
$m_foto->image_resize = true;
$m_foto->image_y = $max_image_size;
$m_foto->image_ratio_x = true;
}
else
{
$m_foto->image_resize = false;
}
$result = $m_foto->Process($processMap);
return array(
'file_uploaded' => $m_foto->processed,
'destination_name' => $m_foto->file_dst_name_body
);
}
?>
require_once('class.upload.php');
if ( !empty($_FILES['foto']) )
{
$file_new_name = 'avatar';
$max_image_size = 250; // max 250px
$processMap = 'avatar/'; // eigen map invullen. Zie dat de map de juiste rechten heeft
$result = uploadFile(
$_FILES["foto"],
$file_new_name,
$max_image_size,
$processMap ,
'jpg', // wordt omgezet naar .jpg
false // file overschrijven in geval de file met de zelfde naam al bestaat
);
if ($result['file_uploaded'])
{
$nieuweFile = $result['destination_name']. '.jpg';
// $nieuweFile kan je nu gebruiken als (nieuwe) waarde van de file in de dB
}
}
function uploadFile($file, $file_new_name, $max_image_size = 250, $processMap = 'avatar/', $imageType = 'jpg', $overwrite=1)
{
// voel je vrij om deze instellingen aan te passen
$m_foto = new upload($file );
$m_foto->file_safe_name = true; // replace white spaces with '_'
if ($overwrite)
{
$m_foto->file_overwrite = true; //
$m_foto->file_auto_rename = false; // disable auto renaming file when file already exists. sinds we want files to be overwritten. 1 user -> 1 avatar
}
else
{
$m_foto->file_overwrite = false;
$m_foto->file_auto_rename = true;
}
$m_foto->file_new_name_body = $file_new_name;
$m_foto->image_convert = $imageType;
// zien wat de lange kant is; daaruit wordt afgeleid of de width of height moet worden aangepast
$resize_image = "";
if ($m_foto->image_src_x >= $m_foto->image_src_y)
{
$thumb_resize_image = "x";
if ( $m_foto->image_src_x > $max_image_size)
{
$resize_image = "x";
}
}
else
{
$thumb_resize_image = "y";
if ( $m_foto->image_src_y > $max_image_size)
{
$resize_image = "y";
}
}
if ($resize_image == 'x')
{
$m_foto->image_resize = true;
$m_foto->image_x = $max_image_size;
$m_foto->image_ratio_y = true;
}
else if ($resize_image == 'y')
{
$m_foto->image_resize = true;
$m_foto->image_y = $max_image_size;
$m_foto->image_ratio_x = true;
}
else
{
$m_foto->image_resize = false;
}
$result = $m_foto->Process($processMap);
return array(
'file_uploaded' => $m_foto->processed,
'destination_name' => $m_foto->file_dst_name_body
);
}
?>
-Je kan dus zelf een maximum aantal pixel uitkiezen. In dit script 1 getal als maximum zowel voor width als height
-je kan een een systeem van naamgeving hebben (bv. avatar_23.jpg) Merk op, als je $overwrite op true zet, kan dat gevolgen hebben voor de nieuwe naam van de file. Daarom geef ik de nieuwe naam van de file mee met de return.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay