Dateiname nach dem Hochladen speichern!

svennson

Erfahrenes Mitglied
Hi,
ich wollte den Namen eines Bildes , nachdem ich es hochgeladen habe, in einer Datenbank speichern.
So wie ich mir das gedacht habe gibt er aber immer nur Array zurück.
Hat wer nen Lösungsvorschlag?

Hier nen Beispiel:
PHP:
<form action="<?php $PHP_SELF;?>" method="post" enctype="multipart/form-data">
<p>Pictures:<br>
<input type='file' name='bilder[]' /><br>
<input type="submit" value="Send" />
</p>
</form>
<?php
$name = $_FILES["bilder"]["name"];
echo $name;
?>

Quasi so, dass der da jetzt bla.jp ausgeben würde.

MFG,
Sven
 
Ja, aber das gibt doch dann Probleme, wenn ich mehr als nur ein Bild hochladen will...
Oder seh ich das falsch?

[edit]Das Obige ist ja nur ein kleines Beispiel, im richtigen Quellcode kann man ja mehrere Bilder hochladen[/edit]
 
Zuletzt bearbeitet:
Probier mal Folgendes:
PHP:
<?php

	echo $_FILES['bilder']['name'][0];

?>
Oft hilft es schon, die Informationen/Struktur einer Variable mit var_dump() oder einer ähnlichen Funktion auszugeben.
 
Konnte ich nicht erkennen. Nützlich Tips zu dem Thema gibts hier:
http://www.php-faq.de/q/q-formular-mehrfach-upload.html
War auch ein bissle blöd ausgedrückt. Aber auf der Seite wird ja nur erklärt wie man mehrere Dateien hochlädt und das ist ja nicht das Problem.
Mein Problem ist halt von jedem einzeln den Namen zu bekommen beim mehrfach Hochladen. Ich probier jetzt erstmal Gumbo's Vorschlag und wenn es dann nicht meld ich mich hier nochmal :)
 
Mir war es gleich offensichtlich, dass svennson versucht mehrere Dateien hochzuladen.

Übrigens, svennson, bitte trenne das Genitiv-S nicht durch ein Apostroph von meinem Namen, die gehören im Deutschen zusammen.
 
Also, hab das jetzt mal geschrieben, aber jetzt schreibt er weder die Datennamen in die Db, noch lädt er die Daten hoch .
Vorher hatte wenigstens das Hochladen geklappt... :confused:
Hier mal der Quellcode, ist aber eigentlich erst ab dem foreach wichtig:
PHP:
<?php
include("connect.php");
mysql_select_db("galerie") or die ("Datenbank konnte nicht angesprochen werden");
if($_POST['anzahl']=="")
{
?>
<form action="<?php $PHP_SELF;?>" method='post'>
Wieviele Bilder sollen hochgeladen werden:<br>
<input type='text' name='anzahl' size='5'><br>
<input type='submit' value='Senden'><input type='reset' value='L&ouml;schen'>
<?php
}
else
{
?>
<form action="<?php $PHP_SELF;?>" method="post" enctype="multipart/form-data">
<p>Pictures:<br>
<?php
for($i=0;$i<$_POST['anzahl'];$i++)
{
echo"<input type='file' name='bilder[]' /><br>";
}
?>
<input type="submit" value="Send" />
</p>
</form>
<?php
if(isset($_POST['bilder']))
{	
	foreach ($_FILES["bilder"]["error"] as $key => $error) {
	   if ($error == UPLOAD_ERR_OK) {
		   $tmp_name = $_FILES["bilder"]["tmp_name"][$key];
		   $name = $_FILES["bilder"]["name"][$key];
		   move_uploaded_file($tmp_name, "phptmp/bilder/".$_GET['galerie']."/$name");
	   }
	}
	$galerie = $_GET['id'];
	for($i=0;$i<$_POST['anzahl'];$i++ )	
	{
	$name = $_FILES["bilder"]["name"]["$i"];
	$sql = mysql_query("INSERT INTO bilder (datei, galerie) VALUES ('$name','$galerie')");
	}
}
}
?>



:offtopic:
Der Name Gumbo klingt ja auch nicht grade Deutsch, also nicht meckern wenn man da ein bissle "Neudeutsch" mit ins Spiel bringt ;)
 
huhu,
hat wirklich keiner ne Idee?
Wenigstens das mit dem Hochladen müsste doch eigetnlich klappen und der sql-Befehl in der for-schleife sollte doch auch richtig sein...is er nur leider anscheind nicht :(
 
Zurück