warum klappt das nicht? (fileupload)
danOne
- php
guten morgen,
ich beschäftige mich grade mit dem Fileupload in PHP und habe mich dabei an das (meiner Meinung nach sehr gut erklärte Howto http://aktuell.de.selfhtml.org/artikel/phpasp/php-uploadcheck/index.htm gehalten.
Mein Code sieht demnach so aus:
..schnipp..
<tr>
<td><form enctype="multipart/form-data" action="content/staff/check_new.php" method="post">Titel</td>
</tr>
<tr>
<td>Abteilung</td>
</tr>
<tr>
<td><select name="abt">
<?
$sql='select * from abteilung';
$erg=mysql_query($sql,$con);
while(list($id,$bez)=mysql_fetch_array($erg))
{
echo"<option value='".$id."'>".$bez."</option>";
}
?>
</select></td>
</tr>
<tr>
<td>Bild</td>
</tr>
<tr>
<td><input type="hidden" name="max_file_size" value="1000"><input name="bild" type="file"></td>
</tr>
<tr>
<td><input name="senden" type="submit"></form></td>
</tr>
..schnapp..
aber in dem Skript an das ich das ganze schicke (ich mach das mal mit 2 verschiedenen weil _ich_ es übersichtlicher finde) kommt nix an, also nur der wert des hidden fields und der name des Buttons. Lasse mir das da mit:
..schnipp..
var_dump($HTTP_POST_VARS);
echo "bild: ".$bild;
..schnapp..
ausgeben.
Ich hab die oben genannte Anleitung jetzt schon 10 mal gelesen und hab nix gefunden was ich übersehen habe. Weiß jemand wo mein Fehler steckt? Liegt es an dem enctype? und wenn ja, warum?
Hilfe!
mit hanseatischem Gruß
.dan.One.
Hallo!
ich beschäftige mich grade mit dem Fileupload in PHP und habe mich dabei an das (meiner Meinung nach sehr gut erklärte Howto http://aktuell.de.selfhtml.org/artikel/phpasp/php-uploadcheck/index.htm gehalten.
Der Artikel ist leider veraltet. Diese Variante sollte nach Möglichkeit vermieden werden.
Die moderenere Methode ist hier beschrieben:
http://www.dclp-faq.de/q/q-formular-upload-php4.html
http://de3.php.net/manual/de/features.file-upload.php
aber in dem Skript an das ich das ganze schicke (ich mach das mal mit 2 verschiedenen weil _ich_ es übersichtlicher finde) kommt nix an, also nur der wert des hidden fields und der name des Buttons. Lasse mir das da mit:
Ja, und das ist auch gut so, dann ist Dein PHP vernünftig konfiguriert.
Die Informationen zur hochgeladennen Datei steht jetzt im $_FILES Array, aber lies am besten die Anleitungen oben, dann erledigt sich das Problem von alleine.
Grüße
Andreas
PS: und verwende nicht copy() zum kopieren, aber sie Links
Hi,
Der Artikel ist leider veraltet. Diese Variante sollte nach Möglichkeit vermieden werden.
hmm das sollte man bei gelegenheit mal dazu schreiben bzw das ding rausnehmen.
Die moderenere Methode ist hier beschrieben:
http://www.dclp-faq.de/q/q-formular-upload-php4.html
http://de3.php.net/manual/de/features.file-upload.php
ok guck ich mir gleich mal an, danke soweit.
Ja, und das ist auch gut so, dann ist Dein PHP vernünftig konfiguriert.
:-)
Die Informationen zur hochgeladennen Datei steht jetzt im $_FILES Array, aber lies am besten die Anleitungen oben, dann erledigt sich das Problem von alleine.
ok ich danke.
PS: und verwende nicht copy() zum kopieren, aber sie Links
--> ??? versteh ich jetzt nicht. was meinst du?
schönen Gruß.
.dan.One.
Hi!
hmm das sollte man bei gelegenheit mal dazu schreiben bzw das ding rausnehmen.
Ja, werde mich mal drum kümmern...
PS: und verwende nicht copy() zum kopieren, aber sie Links
--> ??? versteh ich jetzt nicht. was meinst du?
Die Dateien werden nach dem Upload nur temporär gespeichert, das heißt sie müssen irgendwohin kopiert werden, das machte man früher mit copy, dafür gibt es jetzt aber die speziell hiefür vorgesehene Funktion move_uploaded_file(), aber -> siehe Artikel.
Grüße
Andreas
Hallo danOne,
$sql='select * from abteilung';
"Select *" solltest du nicht unbedingt schreiben, siehe:
16.14. Warum soll ich nicht SELECT * schreiben?
http://www.dclp-faq.de/q/q-sql-select.html
var_dump($HTTP_POST_VARS);
echo "bild: ".$bild;
$bild ist keine Post-Variabel. Sie steht im $_FILES[]-Array (bzw:
$HTTP_POST_FILES). Du solltest auch anstatt $HTTP_POST_VARS immer $_POST
verwenden.
Hier noch ein Link:
http://www.php.net/manual/de/features.file-upload.php
Grüße
David