Das Problem der Fehlermeldung bei Bildupload wurde hier zwar schon ein paarmal angesprochen, aber irgendwie nie befriedigend gelöst.
Warning: filesize(): Stat failed for ../upload_pic/20041208150121_186256.jpg (errno=2 - No such file or directory) in /httpd/stickwalking.de/data/neu/admin_board/bericht_upload_save.php on line 128 (gleiche Meldung für 84 -Tumbnail)
So das die Fehlermeldungen. safe_mod steht auf off, Ordner haben Schreib- und Ausführungsrechte, der angegebene Pfad stimmt
[PHP<? require("../admin_board/inc/functions.php"); ?>
<html>
<head>
<title>Bericht einsenden...</title>
<link rel="stylesheet" href="css/style.css" type="text/css">
</head>
<?php
if (!isset($abdiepost))
{
?>
<?
}
else
{
// Daten abgeschickt, dann DB-Eintrag für alle Daten außer Bilder vornehmen
$zeitstempel= date ("Y.m.d");
$db = mysql_pconnect($host, $user, $password);
mysql_select_db($dbase,$db);
$sql = "INSERT INTO berichte (header, content, name,telefon,ok) VALUES ('$header', '$content', '$name','$telefon','$ok')";
$result = mysql_query($sql,$db);
$upload_id = mysql_insert_id(); // für BIGINT: LAST_INSERT_ID(); // eben erzeugte ID speichern
// foreach($bilder as $bild) // alle upgeloadeten Bilder durchlaufen
for ($i=0;$i<sizeof($bilder);$i++)
{
if ($bilder[$i][0]!="")// oder: ($bilder[$i][0]!="") && ($bilder[$i][0]!="none")// weitertesten
{
$pic = Datum() ."_". Zufall(); // Bildnamen erzeugen: Datum + Zufallszahl
$k_size = @getimagesize ($bilder[$i][0]);
$g_size = @getimagesize ($bilder[$i][0]);
$G_bild = $bilder[$i][0];
$K_bild = $bilder[$i][0];
// Bild-Größen-Berechnung Andre: Breite festlegen, Höhe ist variabel!
// Thumbnail
if ($k_size[0]>=$k_size[1]) // Breitformat
{
if ($k_size[0]>$K_MB) // Originalbreite größer als vorgegeben
{
$K_NB = $K_MB; // Breite auf max setzen
$K_NH = round(($K_MB / $k_size[0]) * $k_size[1]); // Höhe berechnen
}
else // Maße beibehalten
{
$K_NB = $k_size[0];
$K_NH = $k_size[1];
}
}
else // Hochformat
{
if ($k_size[0]>$K_MH) // Breite > max. Höhe?
{
$K_NB = $K_MH; // Breite auf max. Höhe setzen
$K_NH = round(($K_MH / $k_size[0]) * $k_size[1]); // Höhe berechnen
}
else // Maße beibehalten
{
$K_NB = $k_size[0];
$K_NH = $k_size[1];
}
}
// Verarbeitung Bild
if ($k_size[0] == $K_NB && $k_size[1] == $K_NH) // Bild nicht verkleinern, nur kopieren
{
$bildname = $pic."_small.jpg";
@copy ($K_bild, $upload_pfad.$bildname);
}
else // Verkleinertes Bild speichern
{
$bildname = $pic."_small.jpg";
$td=@imageCreateTrueColor($K_NB, $K_NH);
$ts=@imageCreateFromJPEG($K_bild);
@imagecopyresampled($td, $ts, 0, 0, 0, 0, $K_NB, $K_NH, $k_size[0], $k_size[1]);
imageJPEG($td,$upload_pfad.$bildname,85);
}
$pic_small_size=filesize($upload_pfad.$bildname); // Speichergröße des Thumbnails merken
// Grossbild
if ($g_size[0]>=$g_size[1]) // Breitformat
{
if ($g_size[0]>$G_MB) // Originalbreite größer als vorgegeben
{
$G_NB = $G_MB; // Breite auf max setzen
$G_NH = round(($G_MB / $g_size[0]) * $g_size[1]); // Höhe berechnen
}
else // OriginalBreite < vorgegebene Breite : Maße beibehalten
{
$G_NB = $g_size[0];
$G_NH = $g_size[1];
}
}
else // Hochformat
{
if ($g_size[0]>$G_MH) // Breite > max. Höhe?
{
$G_NB = $G_MH; // Breite auf max. Höhe setzen
$G_NH = round(($G_MH / $g_size[0]) * $g_size[1]); // Höhe berechnen
}
else // Maße beibehalten
{
$G_NB = $g_size[0];
$G_NH = $g_size[1];
}
}
// Verarbeitung GrossBild
if ($g_size[0] == $G_NB && $g_size[1] == $G_NH) // Bild nicht verkleinern, nur kopieren
{
$bildname = $pic.".jpg";
@copy ($G_bild, $upload_pfad.$bildname);
}
else // Verkleinertes Bild speichern
{
$bildname = $pic.".jpg";
$td=@imageCreateTrueColor($G_NB, $G_NH);
$ts=@imageCreateFromJPEG($G_bild);
@imagecopyresampled($td, $ts, 0, 0, 0, 0, $G_NB, $G_NH, $g_size[0], $g_size[1]);
imageJPEG($td,$upload_pfad.$bildname,85);
}
[COLOR=red] $pic_size=filesize($upload_pfad.$bildname); // Speichergröße des Grossbildes merken[/COLOR]
// Daten Gross- und Kleinbild in Tabelle schreiben
$sql = "INSERT INTO upload_pic (upload_pic_id, pic_size, pic_small_size, pic_name) VALUES ('$upload_id', '$pic_size','$pic_small_size', '$pic')";
$result = mysql_query($sql,$db);
// Ergebnisanzeige
$verbindung = mysql_pconnect($host, $user, $password);
if($verbindung)
{
if(mysql_select_db($dbase, $verbindung))
$sql ="SELECT * FROM berichte WHERE id = $upload_id";
$ergebnis = mysql_query($sql,$verbindung);
if($ergebnis)
if (mysql_num_rows($ergebnis) == 0)
{
echo "<body>Eintrag fehlgeschlagen...";
}
else
{
while($zeile = mysql_fetch_object($ergebnis))
{
echo "<body>";
echo "<center><table border=1 cellpadding='4'>";
echo "<tr><td>Hier Ihr Eintrag:<br><br><img src='".$upload_pfad . Grossbild($pic)."' border='0' align='left' vspace='10' hspace='20'><br><font size='-1'>[Hinweis: Sehen sie eine schwarze Fläche oder den Platzhalter,<br> war das Ausgangsbild kein verarbeitbares Bildformat!]</font><br><br>";
echo "<br><b>".$zeile->header."</b><br>";
echo "<br>".$zeile->content."<br>";
echo "<br>".$zeile->name."<br>";
echo "<br>".$zeile->telefon."</td></tr></table>";
}
mysql_free_result($ergebnis);
}}
//ende Ergebnis
} // end bild abgeschickt
} // foreach end
mysql_close($db);
} // abdiepost end
?>
<br><br>
<a href="javascript:self.close()">Fenster schließen</a>
</body>
</html>[/PHP]
Test: www.stickwalking.de/neu
unter Berichte -> Bericht schreiben (wird nicht auf Berichtseite angezeigt; erst nach freigabe....
Wer hat eine Idee ?
Dank schon im vorraus
Warning: filesize(): Stat failed for ../upload_pic/20041208150121_186256.jpg (errno=2 - No such file or directory) in /httpd/stickwalking.de/data/neu/admin_board/bericht_upload_save.php on line 128 (gleiche Meldung für 84 -Tumbnail)
So das die Fehlermeldungen. safe_mod steht auf off, Ordner haben Schreib- und Ausführungsrechte, der angegebene Pfad stimmt
[PHP<? require("../admin_board/inc/functions.php"); ?>
<html>
<head>
<title>Bericht einsenden...</title>
<link rel="stylesheet" href="css/style.css" type="text/css">
</head>
<?php
if (!isset($abdiepost))
{
?>
<?
}
else
{
// Daten abgeschickt, dann DB-Eintrag für alle Daten außer Bilder vornehmen
$zeitstempel= date ("Y.m.d");
$db = mysql_pconnect($host, $user, $password);
mysql_select_db($dbase,$db);
$sql = "INSERT INTO berichte (header, content, name,telefon,ok) VALUES ('$header', '$content', '$name','$telefon','$ok')";
$result = mysql_query($sql,$db);
$upload_id = mysql_insert_id(); // für BIGINT: LAST_INSERT_ID(); // eben erzeugte ID speichern
// foreach($bilder as $bild) // alle upgeloadeten Bilder durchlaufen
for ($i=0;$i<sizeof($bilder);$i++)
{
if ($bilder[$i][0]!="")// oder: ($bilder[$i][0]!="") && ($bilder[$i][0]!="none")// weitertesten
{
$pic = Datum() ."_". Zufall(); // Bildnamen erzeugen: Datum + Zufallszahl
$k_size = @getimagesize ($bilder[$i][0]);
$g_size = @getimagesize ($bilder[$i][0]);
$G_bild = $bilder[$i][0];
$K_bild = $bilder[$i][0];
// Bild-Größen-Berechnung Andre: Breite festlegen, Höhe ist variabel!
// Thumbnail
if ($k_size[0]>=$k_size[1]) // Breitformat
{
if ($k_size[0]>$K_MB) // Originalbreite größer als vorgegeben
{
$K_NB = $K_MB; // Breite auf max setzen
$K_NH = round(($K_MB / $k_size[0]) * $k_size[1]); // Höhe berechnen
}
else // Maße beibehalten
{
$K_NB = $k_size[0];
$K_NH = $k_size[1];
}
}
else // Hochformat
{
if ($k_size[0]>$K_MH) // Breite > max. Höhe?
{
$K_NB = $K_MH; // Breite auf max. Höhe setzen
$K_NH = round(($K_MH / $k_size[0]) * $k_size[1]); // Höhe berechnen
}
else // Maße beibehalten
{
$K_NB = $k_size[0];
$K_NH = $k_size[1];
}
}
// Verarbeitung Bild
if ($k_size[0] == $K_NB && $k_size[1] == $K_NH) // Bild nicht verkleinern, nur kopieren
{
$bildname = $pic."_small.jpg";
@copy ($K_bild, $upload_pfad.$bildname);
}
else // Verkleinertes Bild speichern
{
$bildname = $pic."_small.jpg";
$td=@imageCreateTrueColor($K_NB, $K_NH);
$ts=@imageCreateFromJPEG($K_bild);
@imagecopyresampled($td, $ts, 0, 0, 0, 0, $K_NB, $K_NH, $k_size[0], $k_size[1]);
imageJPEG($td,$upload_pfad.$bildname,85);
}
$pic_small_size=filesize($upload_pfad.$bildname); // Speichergröße des Thumbnails merken
// Grossbild
if ($g_size[0]>=$g_size[1]) // Breitformat
{
if ($g_size[0]>$G_MB) // Originalbreite größer als vorgegeben
{
$G_NB = $G_MB; // Breite auf max setzen
$G_NH = round(($G_MB / $g_size[0]) * $g_size[1]); // Höhe berechnen
}
else // OriginalBreite < vorgegebene Breite : Maße beibehalten
{
$G_NB = $g_size[0];
$G_NH = $g_size[1];
}
}
else // Hochformat
{
if ($g_size[0]>$G_MH) // Breite > max. Höhe?
{
$G_NB = $G_MH; // Breite auf max. Höhe setzen
$G_NH = round(($G_MH / $g_size[0]) * $g_size[1]); // Höhe berechnen
}
else // Maße beibehalten
{
$G_NB = $g_size[0];
$G_NH = $g_size[1];
}
}
// Verarbeitung GrossBild
if ($g_size[0] == $G_NB && $g_size[1] == $G_NH) // Bild nicht verkleinern, nur kopieren
{
$bildname = $pic.".jpg";
@copy ($G_bild, $upload_pfad.$bildname);
}
else // Verkleinertes Bild speichern
{
$bildname = $pic.".jpg";
$td=@imageCreateTrueColor($G_NB, $G_NH);
$ts=@imageCreateFromJPEG($G_bild);
@imagecopyresampled($td, $ts, 0, 0, 0, 0, $G_NB, $G_NH, $g_size[0], $g_size[1]);
imageJPEG($td,$upload_pfad.$bildname,85);
}
[COLOR=red] $pic_size=filesize($upload_pfad.$bildname); // Speichergröße des Grossbildes merken[/COLOR]
// Daten Gross- und Kleinbild in Tabelle schreiben
$sql = "INSERT INTO upload_pic (upload_pic_id, pic_size, pic_small_size, pic_name) VALUES ('$upload_id', '$pic_size','$pic_small_size', '$pic')";
$result = mysql_query($sql,$db);
// Ergebnisanzeige
$verbindung = mysql_pconnect($host, $user, $password);
if($verbindung)
{
if(mysql_select_db($dbase, $verbindung))
$sql ="SELECT * FROM berichte WHERE id = $upload_id";
$ergebnis = mysql_query($sql,$verbindung);
if($ergebnis)
if (mysql_num_rows($ergebnis) == 0)
{
echo "<body>Eintrag fehlgeschlagen...";
}
else
{
while($zeile = mysql_fetch_object($ergebnis))
{
echo "<body>";
echo "<center><table border=1 cellpadding='4'>";
echo "<tr><td>Hier Ihr Eintrag:<br><br><img src='".$upload_pfad . Grossbild($pic)."' border='0' align='left' vspace='10' hspace='20'><br><font size='-1'>[Hinweis: Sehen sie eine schwarze Fläche oder den Platzhalter,<br> war das Ausgangsbild kein verarbeitbares Bildformat!]</font><br><br>";
echo "<br><b>".$zeile->header."</b><br>";
echo "<br>".$zeile->content."<br>";
echo "<br>".$zeile->name."<br>";
echo "<br>".$zeile->telefon."</td></tr></table>";
}
mysql_free_result($ergebnis);
}}
//ende Ergebnis
} // end bild abgeschickt
} // foreach end
mysql_close($db);
} // abdiepost end
?>
<br><br>
<a href="javascript:self.close()">Fenster schließen</a>
</body>
</html>[/PHP]
Test: www.stickwalking.de/neu
unter Berichte -> Bericht schreiben (wird nicht auf Berichtseite angezeigt; erst nach freigabe....
Wer hat eine Idee ?
Dank schon im vorraus
Kommentar