Thema: Bild hochladen

Hallo !
Ich möchte mit PHP ein Bild hochladen. Der Code aus meinem Buch für die HTML-Seite:
<form enctype="multipart/form-data" name="hochladen" method="post" action="hochladen.php">
  <p>
    Diese Datei hochladen: <input name="Bild" type="file">
  </p>
  <p>
    <input type="submit" name="Upload" value="Hochladen">
  </p>
</form>

Das PHP-Skript:
echo "'" . $_FILES['Bild']['error'] . "'" . "<br>";
echo "'" . $_FILES['Bild']['type'] . "'" . "<br>";
echo "'" . $_FILES['Bild']['name'] . "'" . "<br>";
echo "'" . $_FILES['Bild']['tmp_name'] . "'" . "<br>";
echo "'" . $_FILES['Bild']['size'] . "'" . "<br>";

$upfile = '/uploads/' . $FILES['Bild']['name'];

if (is_uploaded_file($_FILES['Bild']['tmp_name'])) {
    if (!move_uploaded_file($_FILES['Bild']['tmp_name'], $upfile)) {
        echo 'Datei konnte nicht verschoben werden';
    }
echo 'Datei wurde hochgeladen';
} else {
    echo 'Möglicher Angriff beim Hochladen';
}

Die Werte sind alle gut. Es wird kein Fehler angezeigt.
Die Meldung "Datei wurde hochgeladen" wird angezeigt. Nur wo ist die Datei dann zu finden. In dem File uploads ist sie nicht. Oder funktioniert das nicht, weil ich es vorerst nur lokal auf meinem PC laufen habe ? Muss ich damit erst ins Internet ?

mfG Robert

2

Re: Bild hochladen

Robert2718 schrieb:

Hallo !

Hallo Robert

Der Code sieht auf den ersten  Blick in Ordnung aus.

Robert2718 schrieb:

$upfile = '/uploads/' . $FILES['Bild']['name'];
[...]
Die Meldung "Datei wurde hochgeladen" wird angezeigt. Nur wo ist die Datei dann zu finden. In dem File uploads ist sie nicht.

File? /uploads muesste ein Ordner sein, und zwar ist /uploads durch den Slash zu Beginn ein absoluter Pfad. Ich glaube nicht, dass du das wirklich so haben willst. Entferne mal den / am Anfang, und erstell einen Ordner namens ./uploads/ auf den der User, unter dem der Webserver laeuft, Schreibrechte hat.

gruss
Jonathan

Four legs good, two legs bad