Heim > Artikel > Backend-Entwicklung > Einige Probleme beim Hochladen von Dateien in PHP
Dieser Artikel stellt hauptsächlich relevante Informationen zur Interpretation der Verarbeitungsprobleme beim Hochladen von Dateien in PHP vor. Er ist sehr gut und hat Referenzwert.
Wir sind Durchsuchen Wenn Sie Ihre eigenen Informationen im Browser bearbeiten, werden Sie auf das Hochladen von Avataren stoßen. In der Bibliothek werden wir Dokumente hochladen ... Das Wort „Hochladen“ ist überall.
PHP ist die beste Sprache (Programmierer in anderen Sprachen, bitte schlagen Sie mich nicht...). PHP bietet natürliche Vorteile bei der Handhabung von Interaktionen und verfügt natürlich über leistungsstarke Funktionen zur Verarbeitung hochgeladener Dateien.
Ebenso wie die Übermittlung allgemeiner Daten ist auch für das Hochladen von Dateien ein Formular erforderlich. Lassen Sie uns ein spezielles Formular zum Hochladen von Dateien erstellen.
<form enctype="multipart/form-data" action="upload_file.php" name="upload_form" method="post"> <!--MAX_FILE_SIZE必须在所有的input之前,以后要是想用上传表单,可以在form之后就写隐藏的input--> <input type="hidden" name="MAX_FILE_SIZE" value=""/> 上传的文件: <input type="file" name="userfile"/> <input type="submit" name="sub_button" value="上传文件的提交按钮"/> </form>
OK, analysieren wir dieses Code-Snippet.
Der obige Enctype gibt das Codierungsformat an, das beim Senden der Daten an den Server verwendet wird. Es hat drei Werte:
Das versteckte Feld MAX_FILE_SIZE (Einheit ist Bytes) muss vor dem Dateieingabefeld platziert werden und sein Wert ist die maximale Größe der Datei. Dies ist ein Vorschlag für Browser, PHP wird dies auch prüfen. Diese Barriere kann jedoch browserseitig umgangen werden. Erwarten Sie also nicht, sie zum Blockieren großer Dateien zu verwenden. Der maximale Dateiwert ist jedoch durch post_max_size= (number) M in php.ini begrenzt. Es ist jedoch besser, dieses Element hinzuzufügen, um den Ärger zu vermeiden, dass Benutzer lange auf das Hochladen großer Dateien warten müssen und dann feststellen, dass das Hochladen großer Dateien fehlgeschlagen ist.
Nachdem der Benutzer das Dateiformular übermittelt hat, kann der Server die Daten akzeptieren. In PHP gibt es eine globale Variable$_FILES zum Verarbeiten von Dateien. Es wird davon ausgegangen, dass der Upload-Feldname userfile ist (kann im Feld nach Belieben geändert werden).
$_FILES['userfile']['name'] Der ursprüngliche Name der Client-Datei. $_FILES['userfile']['type'] Der MIME-Typ der Datei. Dies wird auf der PHP-Seite nicht überprüft, daher ist dieser Wert möglicherweise noch nicht vorhanden.
$_FILES['userfile']['size'] Die Größe der hochgeladenen Datei (in Bytes).
$_FILES['userfile']['tmp_name'] Der temporäre Dateiname, der auf der Serverseite gespeichert wird, nachdem die Datei hochgeladen wurde.
$_FILES['userfile']['error'] Der Fehlercode im Zusammenhang mit dem Datei-Upload. Wenn der Upload erfolgreich ist, ist der Wert 0.
<b>上传文件处理</b> <?php if (isset($_FILES['userfile'])) { $uploaddir = 'upload/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo '<pre class="brush:php;toolbar:false">'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo '上传文件成功'.'<br>'; } else { echo '上传文件失败'.'<br>'; } echo '这是上传文件的一些信息:' . '<br>'; print_r($_FILES); echo '<pre class="brush:php;toolbar:false">'; die(); } ?> <b>上传表单</b> <!--表单中的enctype属,必须和以下定义保持一致--> <form enctype="multipart/form-data" action="upload_file.php" name="upload_form" method="post"> <!--MAX_FILE_SIZE必须在所有的input之前,以后要是想用上传表单,可以在form之后就写隐藏的input--> <input type="hidden" name="MAX_FILE_SIZE" value=""/> 上传的文件: <input type="file" name="userfile"/> <hr/> <input type="submit" name="sub_button" value="上传文件的提交按钮"/> </form>
Das obige ist der detaillierte Inhalt vonEinige Probleme beim Hochladen von Dateien in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!