Dateien hochladenBeispiel
Erstellen Sie zunächst ein Formular, das Dateien hochladen kann
<code><span><<span>html</span>></span><span><<span>body</span>></span><span><<span>form</span><span>action</span>=<span>"upload.php"</span><span>method</span>=<span>"post"</span><span>enctype</span>=<span>"multipart/form-data"</span>></span><span><<span>input</span><span>type</span>=<span>"file"</span><span>name</span>=<span>"file"</span>/></span><span><<span>input</span><span>type</span>=<span>"submit"</span><span>value</span>=<span>"submit"</span><span>name</span>=<span>"submit"</span>></span><span></<span>form</span>></span><span></<span>body</span>></span><span></<span>html</span>></span></code>
Im Formular nach dem Absenden Es wird upload.php
überlassen, damit umzugehen. Lassen Sie uns den einfachsten Upload-Handler schreiben:
<code><span><?php</span> var_dump(<span>$_POST</span>); var_dump(<span>$_FILES</span>); <span>$uploadPath</span> = <span>'./upload/'</span>; <span>$tempFileName</span> = <span>$_FILES</span>[<span>'file'</span>][<span>'tmp_name'</span>]; <span>$uploadFileName</span> = <span>$uploadPath</span>.<span>$_FILES</span>[<span>'file'</span>][<span>'name'</span>]; <span>if</span>(move_uploaded_file(<span>$tempFileName</span>,<span>$uploadFileName</span>)){ <span>echo</span><span>'upload success'</span>; }<span>else</span>{ <span>echo</span><span>'upload fail'</span>; }</code>
Besuchen Sie die Einreichungsseite und senden Sie das Formular ab. Sie können die folgende Ausgabe sehen:
<code><span>array</span> (size=<span>1</span>) <span>'submit'</span> => string <span>'submit'</span> (length=<span>6</span>) <span>array</span> (size=<span>1</span>) <span>'file'</span> => <span>array</span> (size=<span>5</span>) <span>'name'</span> => string <span>'laravel-quickstart-welcome.png'</span> (length=<span>30</span>) <span>'type'</span> => string <span>'image/png'</span> (length=<span>9</span>) <span>'tmp_name'</span> => string <span>'/tmp/phpYKQKaY'</span> (length=<span>14</span>) <span>'error'</span> => int <span>0</span><span>'size'</span> => int <span>91148</span> upload success</span></code>
Ausgabebeschreibung Zwei Punkte: Der von
$_FILES
angezeigt. Verwenden Sie das name
-Feld der Eingabe als $_FILES
-Index im -Array. $_POST
angezeigt. $_FILES
Die Struktur des Arrays, das jeder Datei im Array entspricht, ist wie folgt:
name
Der Dateiname der hochgeladenen Datei
type
Typ der hochgeladenen Datei
tmp_name
PHPNach dem Hochladen der Datei wird sie temporär gespeichert Verzeichnis zuerst, und tmp_name zeigt diese temporäre Datei an. Der Pfad error
speichert den Fehlercode size
Die Größe der hochgeladenen Datei in Bytes Also PHPDie Idee, Dateien hochzuladen, ist relativ einfach. Nachdem die Datei hochgeladen wurde, werden die Informationen im Array $_FILES
gespeichert erforderlich (z. B. der Suffixname), und verwenden Sie dann die Funktion move_uploaded_file, um die Datei vorübergehend in Ihr Upload-Verzeichnis zu kopieren.
Hinweise
enctype="multipart/form-data"
setzen, sonst kann es nicht hochgeladen werden Der Ordner im Upload-Pfad muss vorhanden sein, andernfalls wird ein Fehler gemeldet
<code>failed to open stream: No such file or directory </code>
Verwenden Sie keine anderen Funktionen zum Kopieren hochgeladener Dateien, sondern verwenden Sie bitte die Funktion move_uploaded_file
. Da diese Funktion überprüft, ob es sich bei der temporären Datei um eine über PHP hochgeladene Datei handelt, kann verhindert werden, dass Systemdateien versehentlich in das Upload-Verzeichnis kopiert werden.
is_uploaded_file
feststellen, ob eine Datei über PHP hochgeladen wurde. move_uploaded_file
entspricht, bereits vorhanden ist, wird sie überschrieben. Referenz:
Das Obige stellt einfache Beispiele und Anweisungen zum Hochladen von Dateien in PHP vor, einschließlich des Hochladens von Dateien und der Indizierung. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.