eval() ist Pfui und nur dann der richtige Weg, wenn nichts anderes mehr geht (also praktisch nie). In deinem Fall würde mir auch nichts einfallen, das es dir helfen könnte.
Zwar verstehe ich nicht warum eval() Pfui ist aber ich bin jetzt eh ohne ausgekommen. Hab mich gerade bemüht das ganze in eine Funktion zu packen und so wies derzeit ausschaut funktionierts auch. Für alle die dieses Problem auch mal haben oder die Lösung interessiert nachfolgend meine Codeschnipsel.
(Verbesserungsvorschläge gerne willkommen!)
Ausgelagerte Codezeilen:
function OriginalBild($file,$nr,$dbvar,$destdir){
$size = getimagesize($file['tmp_name']);
$width = $size[0];
$height = $size[1];
if ($width > 480 || $height > 300){
print("<p class='errmsg'><b>Das angegebene Originalbild $nr ist zu groß (Breite: $width, Höhe: $height)! Bitte wählen Sie ein kleineres!</b><br/><br/><a href='javascript:history.back()'>zurück zum Formular</a></p>");
return false;
}
if(!strstr($dbvar,"leer.gif") && file_exists("../media/projekte/".$dbvar)){
if(@unlink("../media/projekte/".$dbvar)){
echo "<p class='okmsg'>Altes Originalbild ($dbvar) wurde erfolgreich gelöscht</p>";
}else{
echo "<p class='errmsg'>Altes Originalbild ($dbvar) konnte NICHT gelöscht werden</p>";
}
}
if(move_uploaded_file($file['tmp_name'],$destdir.$file['name'])){
$dbvar = date("ymdhis_").$file['name'];
echo "<p class='okmsg'><b>Upload des Originalbilds $nr ($dbvar) erfolgreich</b></p>";
return $dbvar;
}else{
echo "<p class='errmsg'><b>Fehler beim Upload des Originalbilds $nr</b></p>";
$dbvar = "leer.gif";
return $dbvar;
}
return false;
}
function VorschauBild($file,$nr,$dbvar,$destdir){
if(!strstr($dbvar,"leer.gif") && file_exists("../media/projekte/".$dbvar)){
if(@unlink("../media/projekte/".$dbvar)){
echo "<p class='okmsg'>Altes Vorschaubild ($dbvar) wurde erfolgreich gelöscht</p>";
}else{
echo "<p class='errmsg'>Altes Vorschaubild ($dbvar) konnte NICHT gelöscht werden</p>";
}
}
if(move_uploaded_file($file['tmp_name'],$destdir.$file['name'])){
$dbvar = date("ymdhis_").$file['name'];
echo "<p class='okmsg'><b>Upload des Vorschaubilds $nr ($dbvar) erfolgreich</b></p>";
return $dbvar;
}else{
echo "<p class='errmsg'><b>Fehler beim Upload des Vorschaubilds $nr</b></p>";
$dbvar = "leer.gif";
return $dbvar;
}
return false;
}
Aufruf der Funktion im Script:
include ("projektbild.php");
if (isset($_FILES["userimg1"]) && !empty($_FILES["userimg1"]['name'])) {
$projekte_bild1 = OriginalBild($_FILES["userimg1"],1,$projekte_bild1,$destdir);
}
if (isset($_FILES["userimg1v"]) && !empty($_FILES["userimg1v"]['name'])) {
$projekte_bild1v = VorschauBild($_FILES["userimg1v"],1,$projekte_bild1v,$destdir);
}