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
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-----
<?
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="<? echo ("../albumfotos/".$categorie."/".$name);?>"><hr>
Nog een afbeelding uploaden:
</center>
<?php
}
?>
<center>
<table>
<form method="post" action="<? echo $PHP_SELF; ?>" 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>
<?php
include ("select_categorie.php");
include ("select_auteur.php");
?>
<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 --
<?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>";
?>
--select_categorie --
<?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>";
?>
1.332 views