Bilder hochladen Update Datenbank

max1986

Grünschnabel
Habe folgendes Problem:

PHP:
$pfad = "img/";

$tempname = $_FILES['file']['tmp_name']; 
$name = $_FILES['file']['name'];
$ext = substr($name,-4);


// id wird aus der db geholt
$get_id_qry = "SELECT id FROM datenbank order by id desc limit 1";
$get_id_result = mysql_query($get_id_qry);
$get_id = mysql_fetch_array($get_id_result);


		if($get_id[id] == '')
		  { $pic_id = $id2; }
		else
		  { $pic_id = $get_id[id] + 1; }
		
		 
		copy("$tempname", "$pfad$pic_id$ext");
			$bildname=$pic_id.$ext;
		    echo $bildname;
		
			$add = "UPDATE datenbank SET bild='$bildname' Where id='$id2'";
			mysql_query($add); 
		
?>

HTML:
<form enctype="multipart/form-data" action="bild.php" method="post"> 
<input name="file" type="file"><br> 
<input type="submit" value="hochladen"> 

</form>

In die Datenbank wird nur $pic_id übergeben. Die Endung der Datei wird nicht hinzugefügt (siehe $bildname). Die Dateiendung wird anscheinend erst nach dem upload auf die Variable $ext gespeichert. Hat jmd einen Tipp, wie ich schon vorher an diese Endung komme?

Grüße
 
Mich wundert viel mehr, dass überhaupt was in die Datenbank geschrieben wird.
Oder woher nimmst du hier: Where id='$id2' die $id2?


Und ändere dies:
PHP:
$ext = substr($name,-4);


mal in das:
PHP:
$ext = substr($tempname,-4);


Nimm statt copy() besser move_uploaded_file(), dafür ist es ja da.


Sonst sehe ich grad den Fehler selbst nicht.
 
Schon mal vielen Dank für deine Antwort.

id2 wird schon am Dateianfang von einer anderen Seite übergeben (hatte ich vergessen zu kopieren)

PHP:
$id2 = $_GET['id'];

Habe deine Vorschläge eingefügt, es wird aber immer noch nur die pic_id in die Datenbank eingetragen.. :confused:

Grüße
 
Ich sehe noch immer keinen Fehler.


Schreib mal das:
PHP:
print '<pre>';
var_dump ($_POST, $_FILES, $ext);

unter
PHP:
$ext = substr($name,-4);


Und zeig was da im Browser dann steht.
 
vor dem hochladen:

Code:
array(0) {
}
array(0) {
}
bool(false)

Wenn das Bild hochgeladen wurde:
Code:
array(0) {
}
array(1) {
  ["file"]=>
  array(5) {
    ["name"]=>
    string(15) "Blaue Berge.jpg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(23) "C:\xampp\tmp\php690.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(28521)
  }
}
string(4) ".jpg"
 
Zurück