Naam meegeven bij uploaden van een afbeelding.
De naam moet niet via een form ingevuld kunnen worden. Ik beslis de naam zelf met een ID die uit een cookie komt, en daarachter nog een reeks getallen die ik zelf zal bepalen.
Om dit kort samen te vatten;
De naam van de afbeelding die upgeload moet worden moet gelijk zijn aan de waarde van de variabele die ik zelf bepaald 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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
// Mappen CHMOD 777 !
if(isset($_POST['uploaden'])){
$dir = "map/"; // map voor images
$thumb_dir = "map/thumbs/"; // map voor thums
$maxsize = 256000; // maximum groote images
$max_y = 64; // maximum hoogte thumbs
$max_x = 84; // maximum breedte thumbs
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = $pathinfo["extension"];
switch($ext){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
default : $wrongext = 1;
}
if(isset($wrongext)){
$error = "Verkeerde Extensie";
}else{
if($_FILES['bestand']['size'] > $maxsize){
$error = "Bestand is te groot";
}else{
$succes = true;
}
}
if(!isset($succes) || isset($error)){
echo "<b>Er is een fout op getreden:</b><br>";
echo $error;
imagedestroy($thumb);
}else{
move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$_FILES['bestand']['name']) or die("Kan niet uploaden");
$x = imagesx($thumb);
$y = imagesy($thumb);
if(($max_x/$max_y) < ($x/$y)){
$eind = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x)) or die("Fout: imagecreattreucolor() 1");
}else{
$eind = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y)) or die("Fout: imagecreattreucolor() 2");
}
imagecopyresampled($eind, $thumb, 0, 0, 0, 0, imagesx($eind), imagesy($eind), $x, $y) or die("Fout: imagecopyresized()");
imagegif($eind, $thumb_dir.$_FILES['bestand']['name']) or die("Fout: imagegif()");
imagedestroy($thumb);
imagedestroy($eind);
echo "<a href=\"".$dir.$_FILES['bestand']['name']."\" target=\"_blank\"><img src=\"".$thumb_dir.$_FILES['bestand']['name']."\" border=\"0\"></a>";
}
}
echo "<b>Image Upload</b>";
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" enctype=\"multipart/form-data\" name=\"form\" id=\"form\">";
echo "<input name=\"bestand\" type=\"file\" id=\"bestand\">";
echo "<input name=\"uploaden\" type=\"submit\" id=\"uploaden\" value=\"Uploaden\">";
echo "</form>";
?>
// Mappen CHMOD 777 !
if(isset($_POST['uploaden'])){
$dir = "map/"; // map voor images
$thumb_dir = "map/thumbs/"; // map voor thums
$maxsize = 256000; // maximum groote images
$max_y = 64; // maximum hoogte thumbs
$max_x = 84; // maximum breedte thumbs
$pathinfo = pathinfo($_FILES['bestand']['name']);
$ext = $pathinfo["extension"];
switch($ext){
case "jpg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "jpeg" : $thumb = imagecreatefromjpeg($_FILES['bestand']['tmp_name']);
break;
case "gif" : $thumb = imagecreatefromgif($_FILES['bestand']['tmp_name']);
break;
case "png" : $thumb = imagecreatefrompng($_FILES['bestand']['tmp_name']);
break;
default : $wrongext = 1;
}
if(isset($wrongext)){
$error = "Verkeerde Extensie";
}else{
if($_FILES['bestand']['size'] > $maxsize){
$error = "Bestand is te groot";
}else{
$succes = true;
}
}
if(!isset($succes) || isset($error)){
echo "<b>Er is een fout op getreden:</b><br>";
echo $error;
imagedestroy($thumb);
}else{
move_uploaded_file($_FILES['bestand']['tmp_name'], $dir.$_FILES['bestand']['name']) or die("Kan niet uploaden");
$x = imagesx($thumb);
$y = imagesy($thumb);
if(($max_x/$max_y) < ($x/$y)){
$eind = imagecreatetruecolor($x/($x/$max_x), $y/($x/$max_x)) or die("Fout: imagecreattreucolor() 1");
}else{
$eind = imagecreatetruecolor($x/($y/$max_y), $y/($y/$max_y)) or die("Fout: imagecreattreucolor() 2");
}
imagecopyresampled($eind, $thumb, 0, 0, 0, 0, imagesx($eind), imagesy($eind), $x, $y) or die("Fout: imagecopyresized()");
imagegif($eind, $thumb_dir.$_FILES['bestand']['name']) or die("Fout: imagegif()");
imagedestroy($thumb);
imagedestroy($eind);
echo "<a href=\"".$dir.$_FILES['bestand']['name']."\" target=\"_blank\"><img src=\"".$thumb_dir.$_FILES['bestand']['name']."\" border=\"0\"></a>";
}
}
echo "<b>Image Upload</b>";
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" enctype=\"multipart/form-data\" name=\"form\" id=\"form\">";
echo "<input name=\"bestand\" type=\"file\" id=\"bestand\">";
echo "<input name=\"uploaden\" type=\"submit\" id=\"uploaden\" value=\"Uploaden\">";
echo "</form>";
?>
Ik dank u bij voorbaat voor uw hulp !!
Mocht ik onduidelijk geweest zijn, twijfel dan niet om nog vragen te stellen.
Vriendelijke groeten,
Olivier
Je moet die $_FILES['bestand']['name'] vervangen door je eigen naam.
Ik heb het aangepast, en het werkt !
Kan het kwaad dat hij geen extensie meer meegeeft omdat ik een eigen naam eraan geef?
Hij geeft de afbeeldingen alleszins perfect weer..
Als test heb ik het upgeloade bestand 'naam2' genoemd. En deze staat dus opgeslaan als 'naam2' en niet 'naam2.jpg' of een andere extentie.
$filename . '.' . $extension;
Is gebeurd, dankje.