Heim > Artikel > Backend-Entwicklung > So lösen Sie das Problem verstümmelter Dateinamen, die von PHP hochgeladen werden
Die Lösung für den von PHP hochgeladenen verstümmelten Dateinamen: Fügen Sie zuerst den Code „header(“Content-type: text/html; charset=utf-8“);“ hinzu; und dann eine Variable definieren; schließlich die PHP-Seite ausführen.
Empfohlen: „PHP-Tutorial“
Das Hochladen von Dateien ist eine der am häufigsten verwendeten Funktionen, wenn wir Formulare verarbeiten Einreichungen Zuerst habe ich heute eine kleine Demo geschrieben, wie folgt:
Schauen wir uns zuerst die Struktur an:
html ist die Seite für die Formularübermittlung und php dient zur Verarbeitung der Formulardatei, Upload ist der Speicherort, an dem die hochgeladene Datei abgelegt wird
html:
<!DOCTYPE html> <html lang="en"> <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 hochgeladen, wie folgt:
Ausführung:
Sie können sehen, dass es sehr glatt ist, schauen wir uns das an Ergebnis:
Die zu diesem Zeitpunkt hochgeladene Datei ist das, was wir wollen, aber sie ist verstümmelt. Nun gut, lasst uns das Problem lösen:
Zuerst , füge einen solchen Code hinzu:
header("Content-type: text/html; charset=utf-8");
Dann definiere eine Variable:
$name = iconv('utf-8','gb2312',"upload/".$file["name"]);
Okay, schauen wir uns die gesamte PHP-Seite an:
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"].""; echo "文件类型:".$file["type"].""; echo "文件大小:".($file["size"]/1024)."K"; echo "文件临时存储的位置:".$file["tmp_name"].""; //保存上传的文件 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); } }
Ausführen:
Perfekt.
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter Dateinamen, die von PHP hochgeladen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!