Heim >Backend-Entwicklung >PHP-Problem >So lösen Sie das verstümmelte Problem beim Hochladen von PHP-Dateien
Lösung für das Hochladen verstümmelter PHP-Dateien: Öffnen Sie zuerst die PHP-Datei und fügen Sie dann den Code „header(“Content-type: text/html; charset=utf-8“);“ hinzu.
Empfohlen: „PHP-Video-Tutorial“
Lösung für verstümmelte chinesische Dateinamen in PHP-hochgeladenen Dateien
Das Hochladen von Dateien ist eine der am häufigsten verwendeten Funktionen, wenn wir Formularübermittlungen verarbeiten. Heute habe ich geschrieben Ich habe eine kleine Demo wie folgt erstellt:
Schauen wir uns zuerst die Struktur an:
HTML ist die Seite für die Formularübermittlung, PHP ist die Datei für die Verarbeitung des Formulars, Upload ist der Speicherort, an dem die hochgeladene Datei abgelegt wird post
html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>文件上传</title> </head> <body> <form action="file_updata.php" method="post" enctype="multipart/form-data"> <label for="files">文件上传</label> <input type="file" id="files" name="file"> <br/> <input type="submit" name="submits" value="提交"> </form> </body> </html> php: $file = $_FILES["file"]; if ($file["error"] > 0) { echo "错误:" . $file["error"]; } else { echo "文件名称:" . $file["name"] . "</br>"; echo "文件类型:" . $file["type"] . "</br>"; echo "文件大小:" . ($file["size"] / 1024) . "K</br>"; echo "文件临时存储的位置:" . $file["tmp_name"] . "</br>"; //保存上传的文件 if (file_exists("upload" . $file["name"])) { echo $file["name"] . "文件已经存在"; } else { //若是目录不存在则将该文件上传 move_uploaded_file($file['tmp_name'], "upload/" . $file["name"]); echo '文件上传成功!'; } }
Ich habe eine .txt-Datei wie folgt hochgeladen:
Ausführung:
Sie können sehen, dass es sehr reibungslos ist. Schauen wir uns das Ergebnis an:
Die Datei Das, was wir zu diesem Zeitpunkt hochgeladen haben, ist das, was wir wollen, aber das ist nicht der Fall. Es liegt eine Situation mit verstümmeltem Code vor, ähm, okay, lösen wir es:
Fügen Sie zunächst diesen Code zum Kopf der PHP-Datei hinzu:
header("Content-type: text/html; charset=utf-8"); 而后定义一个变量: $name = iconv('utf-8','gb2312',"upload/".$file["name"]); 好,那咱们看看整个的PHP页面: header("Content-type: text/html; charset=utf-8"); $file = $_FILES["file"]; if($file["error"]>0){ echo "错误:".$file["error"]; }else{ $name = iconv('utf-8','gb2312',"upload/".$file["name"]); echo "文件名称:".$file["name"]."</br>"; echo "文件类型:".$file["type"]."</br>"; echo "文件大小:".($file["size"]/1024)."K</br>"; echo "文件临时存储的位置:".$file["tmp_name"]."</br>"; //保存上传的文件 if(file_exists("upload".$file["name"])){ echo $file["name"]."文件已经存在"; }else{ //若是目录不存在则将该文件上传 if(move_uploaded_file($file['tmp_name'],$name)){ // move_uploaded_file($file['tmp_name'],"upload/".$file["name"]); echo '文件上传成功!'; echo '图片信息:'; print_r($file); } }
Läuft:
Perfekt.
Das obige ist der detaillierte Inhalt vonSo lösen Sie das verstümmelte Problem beim Hochladen von PHP-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!