afbeeldingen in geselecteerde map uploaden
De gegevens worden allemaal toegevoegd aan de database, maar de foto wordt niet aangepast en upgeload naar de juiste map.
Hieronder het script.
het probleem zit hem ergens in de (waarde van) $categorie vermoed ik, want zonder selectie van een map, werkt het wel.
Ik krijg volgende foutmelding:
Warning: imagecreatefromjpeg(../albumfotos//big_nieuw.jpg): failed to open stream: No such file or directory in /opt/www/web/site/admin/album/addpic.php on line 23
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /opt/www/web/site/admin/album/addpic.php on line 103
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /opt/www/web/site/admin/album/addpic.php on line 105
Warning: imagedestroy(): supplied argument is not a valid Image resource in /opt/www/web/site/admin/album/addpic.php on line 110
Warning: filesize(): Stat failed for ../albumfotos/24/nieuw.jpg (errno=2 - No such file or directory) in /opt/www/web/site/admin/addpic.php on line 120
->alle mappen zijn chmod 777.
->Ik laad het script als volgt:
index2.php?content=album&actie=addpic
----addpic.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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?
require("config.php");
if (isset($_POST['uploaden']))
{
require("config.php");
function create_image_from($ext,$naam)
{
if ($ext == 'jpg')
$org = imagecreatefromjpeg("../albumfotos/".$categorie."/big_".$naam);
elseif ($ext == 'gif')
$org = imagecreatefromgif("../albumfotos/".$categorie."/big_".$naam);
elseif ($ext == 'png')
$org = imagecreatefrompng("../albumfotos/".$categorie."/big_".$naam);
else
die("ERROR while creating image -> create_image_from");
return $org;
}
function complete_img($ext,$create,$naam)
{
if ($ext == 'jpg')
imagejpeg($create, "../albumfotos/".$categorie."/".$naam, 100);
elseif ($ext == 'gif')
imagegif($create, "../albumfotos/".$categorie."/".$naam, 80);
elseif ($ext == 'png')
imagepng($create, "../albumfotos/".$categorie."/".$naam, 80);
else
die("ERROR while creating image -> complete_img");
}
$img = $foto_name;
if ($img == "")
{
echo "U heeft geen bestand opgegeven.";
exit();
}
/*
$naam = explode("/", $foto_name);
$naam = end($naam);
$naam = strtolower($naam);
*/
$expl = explode(".", $img);
$ext = end($expl);
$ext = strtolower($ext);
$naam = $_POST['naam'].".".$ext;
if (!(($ext == 'jpg') || ($ext == 'gif') || ($ext == 'png')))
{
echo "U afbeelding heeft niet de juiste extensie.<br>";
echo "Toegestaan zijn: gif, jpg en png<br>";
exit();
}
copy($foto,"../albumfotos/".$categorie."/big_".$naam);
// functie orginele foto ophalen
$org = create_image_from($ext,$naam);
$size = getimagesize("../albumfotos/".$categorie."/big_".$naam);
$width = $size[0];
$height = $size[1];
if ($size[0] == $size[1])
{
$newwidth = 450;
$newheight = 450;
}
elseif ($size[0] > $size[1])
{
$newwidth = 450;
$newheight = round($size[1] * 450 / $size[0]);
}
elseif ($size[0] < $size[1])
{
$newheight = 450;
$newwidth = round($size[0] * 450 / $size[1]);
}
else
{
echo "ERROR while createing image -> size";
echo "$size[0] x $size[1]";
exit();
}
$create = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($create, $org, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagecopyresampled ($create, $org, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// functie orginele foto ophalen
complete_img($ext,$create,$naam);
imagedestroy($org);
imagedestroy($create);
$del = "../albumfotos/".$categorie."/big_".$naam;
//echo $del;
unlink($del);
$$img_dirsize = $foto_size;
$name = $naam;
$size = floor($$img_dirsize / 1024);
$datum = date("Y-m-d H:i:s");
$sizeNew = filesize("../albumfotos/".$categorie."/".$naam);
$sizeNew = floor($sizeNew / 1024);
// invoegen in Database
$query="INSERT INTO foto (bestand, omschrijving, categorie, auteur, datum) ";
$query .= "VALUES ('";
$query .= $name ."','";
$query .=$_POST[omschrijving] ."','";
$query .=$_POST[categorie] ."','";
$query .=$_POST[auteur] ."','";
$query .=$_POST[datum]."');";
$result - mysql_query($query) or die ("Fout: " . mysql_error());
echo "Orgineel:<br />";
echo "Naam: ".$foto_name."<br />";
echo "Grootte: ".$width." x ".$height."<br />";
echo "Aantal Kb: ".$size." Kb<br /><br />";
echo "Nieuw:<br />";
echo "Naam: ".$name."<br />";
echo "Grootte: ".$newwidth." x ".$newheight."<br />";
echo "Aantal Kb: ".$sizeNew." Kb<br />";
echo "Laatst Gewijzigd: ".$datum."<br />";
?>
require("config.php");
if (isset($_POST['uploaden']))
{
require("config.php");
function create_image_from($ext,$naam)
{
if ($ext == 'jpg')
$org = imagecreatefromjpeg("../albumfotos/".$categorie."/big_".$naam);
elseif ($ext == 'gif')
$org = imagecreatefromgif("../albumfotos/".$categorie."/big_".$naam);
elseif ($ext == 'png')
$org = imagecreatefrompng("../albumfotos/".$categorie."/big_".$naam);
else
die("ERROR while creating image -> create_image_from");
return $org;
}
function complete_img($ext,$create,$naam)
{
if ($ext == 'jpg')
imagejpeg($create, "../albumfotos/".$categorie."/".$naam, 100);
elseif ($ext == 'gif')
imagegif($create, "../albumfotos/".$categorie."/".$naam, 80);
elseif ($ext == 'png')
imagepng($create, "../albumfotos/".$categorie."/".$naam, 80);
else
die("ERROR while creating image -> complete_img");
}
$img = $foto_name;
if ($img == "")
{
echo "U heeft geen bestand opgegeven.";
exit();
}
/*
$naam = explode("/", $foto_name);
$naam = end($naam);
$naam = strtolower($naam);
*/
$expl = explode(".", $img);
$ext = end($expl);
$ext = strtolower($ext);
$naam = $_POST['naam'].".".$ext;
if (!(($ext == 'jpg') || ($ext == 'gif') || ($ext == 'png')))
{
echo "U afbeelding heeft niet de juiste extensie.<br>";
echo "Toegestaan zijn: gif, jpg en png<br>";
exit();
}
copy($foto,"../albumfotos/".$categorie."/big_".$naam);
// functie orginele foto ophalen
$org = create_image_from($ext,$naam);
$size = getimagesize("../albumfotos/".$categorie."/big_".$naam);
$width = $size[0];
$height = $size[1];
if ($size[0] == $size[1])
{
$newwidth = 450;
$newheight = 450;
}
elseif ($size[0] > $size[1])
{
$newwidth = 450;
$newheight = round($size[1] * 450 / $size[0]);
}
elseif ($size[0] < $size[1])
{
$newheight = 450;
$newwidth = round($size[0] * 450 / $size[1]);
}
else
{
echo "ERROR while createing image -> size";
echo "$size[0] x $size[1]";
exit();
}
$create = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($create, $org, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagecopyresampled ($create, $org, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// functie orginele foto ophalen
complete_img($ext,$create,$naam);
imagedestroy($org);
imagedestroy($create);
$del = "../albumfotos/".$categorie."/big_".$naam;
//echo $del;
unlink($del);
$$img_dirsize = $foto_size;
$name = $naam;
$size = floor($$img_dirsize / 1024);
$datum = date("Y-m-d H:i:s");
$sizeNew = filesize("../albumfotos/".$categorie."/".$naam);
$sizeNew = floor($sizeNew / 1024);
// invoegen in Database
$query="INSERT INTO foto (bestand, omschrijving, categorie, auteur, datum) ";
$query .= "VALUES ('";
$query .= $name ."','";
$query .=$_POST[omschrijving] ."','";
$query .=$_POST[categorie] ."','";
$query .=$_POST[auteur] ."','";
$query .=$_POST[datum]."');";
$result - mysql_query($query) or die ("Fout: " . mysql_error());
echo "Orgineel:<br />";
echo "Naam: ".$foto_name."<br />";
echo "Grootte: ".$width." x ".$height."<br />";
echo "Aantal Kb: ".$size." Kb<br /><br />";
echo "Nieuw:<br />";
echo "Naam: ".$name."<br />";
echo "Grootte: ".$newwidth." x ".$newheight."<br />";
echo "Aantal Kb: ".$sizeNew." Kb<br />";
echo "Laatst Gewijzigd: ".$datum."<br />";
?>
<center>
Uw afbeelding is geupload.
<hr><img src=""><hr>
Nog een afbeelding uploaden:
</center>
<center>
<table>
<form method="post" action="" enctype="multipart/form-data">
<tr><td>Bestand:</td><td><div align="left">
<input type="file" name="foto">
</div></td></tr>
<tr>
<td align="center"><div align="left">Nieuwe naam </div></td>
<td align="center"><div align="left">
<input name="naam" type="text" id="name">
</div></td>
</tr>
<tr>
<td align="center"><div align="left">Omschrijving</div></td>
<td align="center"><div align="left">
<input name="omschrijving" type="text" id="omschrijving">
</div></td>
</tr>
<tr>
<td align="center"><div align="left">Datum</div></td>
<td align="center"><div align="left">
<input name="datum" type="text" id="datum">
</div></td>
</tr>
<tr>
<td colspan="2" align="center"> </td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="uploaden" value="Uploaden" /></td>
</tr>
</form>
</table>
</center>
-- select_auteur.php --
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
echo "
<tr>
<td>Auteur</td>
<td>
<select name=\"auteur\">";
$query = "SELECT * FROM auteurs order by naam ASC";
$resultaat = mysql_query($query) or die ("query mislukt");
while ($obj = mysql_fetch_object($resultaat)){
echo "<option value=\"$obj->id\">$obj->naam ($obj->email)</option>\n";}
echo"</select>
</td>
</tr>";
?>
echo "
<tr>
<td>Auteur</td>
<td>
<select name=\"auteur\">";
$query = "SELECT * FROM auteurs order by naam ASC";
$resultaat = mysql_query($query) or die ("query mislukt");
while ($obj = mysql_fetch_object($resultaat)){
echo "<option value=\"$obj->id\">$obj->naam ($obj->email)</option>\n";}
echo"</select>
</td>
</tr>";
?>
--select_categorie --
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
echo "
<tr>
<td>Categorie</td>
<td>
<select name=\"categorie\">";
$query = "SELECT * FROM foto_categorie order by id DESC";
$resultaat = mysql_query($query) or die ("query mislukt");
while ($obj = mysql_fetch_object($resultaat)){
echo "<option value=\"$obj->id\">$obj->categ</option>\n";}
echo"</select>
</td>
</tr>";
?>
echo "
<tr>
<td>Categorie</td>
<td>
<select name=\"categorie\">";
$query = "SELECT * FROM foto_categorie order by id DESC";
$resultaat = mysql_query($query) or die ("query mislukt");
while ($obj = mysql_fetch_object($resultaat)){
echo "<option value=\"$obj->id\">$obj->categ</option>\n";}
echo"</select>
</td>
</tr>";
?>
Jan:
Ik probeer een aanpassing van een uploadscript te maken, waarbij de foto wordt geresized, upgeload naar een bepaalde map (afhankelijk van de categorie die je kiest) en waarbij de gegevens ook naar een database worden toegegevoegd.
De gegevens worden allemaal toegevoegd aan de database, maar de foto wordt niet aangepast en upgeload naar de juiste map.
Hieronder het script.
het probleem zit hem ergens in de (waarde van) $categorie vermoed ik, want zonder selectie van een map, werkt het wel.
Ik krijg volgende foutmelding:
Warning: imagecreatefromjpeg(../albumfotos//big_nieuw.jpg): failed to open stream: No such file or directory in /opt/www/web/site/admin/album/addpic.php on line 23
De gegevens worden allemaal toegevoegd aan de database, maar de foto wordt niet aangepast en upgeload naar de juiste map.
Hieronder het script.
het probleem zit hem ergens in de (waarde van) $categorie vermoed ik, want zonder selectie van een map, werkt het wel.
Ik krijg volgende foutmelding:
Warning: imagecreatefromjpeg(../albumfotos//big_nieuw.jpg): failed to open stream: No such file or directory in /opt/www/web/site/admin/album/addpic.php on line 23
in die eerste foutmelding staat een dubbele slash, vlak voor big_nieuw.jpg
dat weet ik, normaal moet tussen die 2 // de waarde (map) van $categorie komen te staan, maar dat gebeurt dus niet.
De bekende vraag: Waar komt $categorie vandaan?
Misschein als je nou van $categorie eens $_POST['categorie'] maakte, dan heb je al een iets grotere kans van slagen.
dus:
<OPTION value="1">categorie1</OPTION>
<OPTION value="2">categorie2</OPTION>
<OPTION value="3">categorie3</OPTION>
Als er bij value niets staat, zit de fout in je query (misschien is 'categ' niet de juiste veldnaam)
Als er wel iets staat, dan weet je in ieder geval al dat je query correct is.
Jelmer:
Misschein als je nou van $categorie eens $_POST['categorie'] maakte, dan heb je al een iets grotere kans van slagen.
inderdaad dat werkte!
ik heb ook de "action" van het formulier moeten aanpassen, die
werkte niet, ik heb er dan maar "index2.php?content=album&actie=addpic" van gemaakt.
Ik heb dat laatste probleem nog gehad bij scripts, aan wat zou dat kunnen liggen?
THX,
jan