[PHP/MySQL] Upload #2
Verfasst: 30.09.2005 19:53
Aufgrund der Übersichtlichkeit poste ich den Code lieber ganz aus
Also, ausgegeben wird nach dem Upload immer :
) ausserdem müsste es ja wenn dann schon : "28c8edde3d61a0411511d3b1866f0636.PNG" (also mit Punkt) heissen ...
Woran kann das bloss liegen ? Die SQL-Daten etc. stimmen 100% und in der DB ist auch nichts falsch ... Wie kann ich die Probleme lösen ?
Wäre für jede Hilfe dankbar!
DasFragezeichen

Das rotmakierte ist wohl irgendwie der Fehler ...<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data" name="upload">
<input type="file" name="file"><input type="submit" name="submit" value="Upload">
</form>
</body>
</html>
<?php
$max_byte_size = 10240000;
$allowed_types = "(jpg|jpeg|gif|bmp|png|tif|tiff|swf|zip|rar)";
if($_POST["submit"] == "Upload") {
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
if($_FILES["file"]["size"] <= $max_byte_size) {
$png = "png";
if(preg_match("/\." . $png . "$/i", $_FILES["file"]["name"])) {
define('DB_HOST', 'localhost');
define('DB_USER', 'myname');
define('DB_PASS', 'mypass');
define('DB_NAME', 'db');
define('TABLE_NAME', 'table');
$feld1 = "id";
$feld2 = "blabla";
$id = 2;
$verbindung = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Kritischer Fehler bitte den Admin fragen!");
mysql_select_db(DB_NAME, $verbindung);
$sql = "SELECT * FROM ".TABLE_NAME." WHERE ".$feld1."=".$id;
$result = mysql_query($sql, $verbindung) or die ("SQL-Befehl ".$sql." konnte nicht ausgeführt werden");
if ($row = mysql_fetch_assoc($result))
{
$zahl = $row[$feld2];
}
if ($row = mysql_fetch_object($result))
{
$zahl = $row->$feld2;
}
$zahl++;
$newzahl = (md5 ($zahl));
$sql = "UPDATE ".TABLE_NAME." SET ".$feld2."=".$zahl." WHERE ".$feld1."=".$id;
mysql_query($sql, $verbindung) or die ("SQL-Befehl ".$sql." konnte nicht ausgeführt werden");
mysql_close();
$newnewzahl = (md5 ($newzahl));
if(copy($_FILES["file"]["tmp_name"], "$newnewzahl".PNG)) {
print ("<a href='http://localhost/test/$newnewzahl.PNG'> ... ahl.PNG</a>");
}
else {
echo "Fehler"; //das wird ausgegeben
}
}
else {
echo "Ungültige Dateiendung";
}
}
else {
echo "Maxsize überschritten!";
}
}
else {
echo "Wähle Datei!!!";
}
}
else {
echo "NOCH keine Datei angegeben";
}
?>
Also, ausgegeben wird nach dem Upload immer :
von :Fehler
Zeitglich findet sich dann aber immer eine Datei mit dem Namen : "28c8edde3d61a0411511d3b1866f0636PNG" im Ordner ... Die Datenbank wird nicht geupdated (d.h. der Wert bleibtelse {
echo "Fehler";
}

Woran kann das bloss liegen ? Die SQL-Daten etc. stimmen 100% und in der DB ist auch nichts falsch ... Wie kann ich die Probleme lösen ?
Wäre für jede Hilfe dankbar!
DasFragezeichen