PHP Upload
Anonym
- php
1 Der Martin
0 Baba0 1UnitedPower0 bubble
Wow!!!! Cooles neues Design vom Forum erstmal :)
Ich hätte eine Frage zu PHP! Versuche gerade ein File Upload via PHP.
<?php
if ($_POST[upload]==1)
{
move_uploaded_file($_FILES['thefile']['tmp_name'],"data/.jpg");
}
?>
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="action="<?php echo htmlspecialchars ($_SERVER['PHP_SELF']); ?>"">
<label for="textfield">Test</label>
<input type="file" name="thefile" id="thefile" />
<input type="hidden" name="upload" value="1" />
<input type="submit" value="Upload" />
</form>
Er lädt was hoch (merkt man) aber nicht in den Ordner data .....Und auch sonst nirgendwo...
Kann mir jmd. helfen? Lese schon seit stunden Tuts..
Hallo,
<?php
if ($_POST[upload]==1)
{
move_uploaded_file($_FILES['thefile']['tmp_name'],"data/.jpg");
}?>
dieser Block sollte wegen der Verwendung einer vermutlich undefinierten benannten Konstanten upload anstatt der Stringkonstanten 'upload' eine Notice schmeißen. Außerdem: Liefert dein Upload-Formular wirklich einen Parameter 'upload' mit dem Wert 1 mit? Wozu?
Und möchtest du wirklich jede hochgeladene Datei unter demselben Namen ".jpg" speichern, und damit die vorhergehende Upload-Datei überschreiben?
> <form id="form1" name="form1" method="post" enctype="multipart/form-data" action="action="<?php echo htmlspecialchars ($\_SERVER['PHP\_SELF']); ?>"">
> <label for="textfield">Test</label>
> <input type="file" name="thefile" id="thefile" />
> <input type="hidden" name="upload" value="1" />
Ah, da isses ja. Trotzdem: Wozu?
> Er lädt was hoch
Wer??
> aber nicht in den Ordner data .....Und auch sonst nirgendwo...
Hast du bedacht, dass Unix-basierte Systeme eine Datei, deren Name mit einem Punkt beginnt, als "hidden" betrachtet?
Ciao,
Martin
--
Wer schläft, sündigt nicht.
Wer vorher sündigt, schläft besser.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
<?php
if ($_POST[upload]==1)
{
move_uploaded_file($_FILES['thefile']['tmp_name'],"data/.jpg");
}
Das bedeutet: kopiere die temporäre Datei in
Weißt Du, in welchem Verzeichnis du aktuell bist? Gibt es dort das Unterverzeichnis "data".
Schau mal, was [code lang=php]var_dump($_SERVER["DOCUMENT_ROOT"]
Und wie Martin schon sagt solltest Du dem Bild einen Namen geben.
Cheers,
Baba
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="action="<?php echo htmlspecialchars ($_SERVER['PHP_SELF']); ?>"">
Diese Zeile dürfte zu etwas ähnlichen wie folgendem evaluieren:
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="action="index.php"">
Nach dem der Parser das Rauschen entfern hat, sieht dein Tag ungfähr so aus:
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="action=">
Vermutlich ein Flüchtigkeitsfehler..
if ($_POST[upload]==1)
{
move_uploaded_file($_FILES['thefile']['tmp_name'],"data/.jpg");
}
Guck dir mal das $\_FILES-Array genauer an, z.B. ob ein Fehler beim Hochladen entstanden ist, etc. Allgemein solltest du die hoch geladene Datei besser Überprüfen. Aktuell könnte man, wenn man wollte jeden Rotz von Dateien auf deinen Server schieben.
MfG
bubble