Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das Problem verstümmelter Dateinamen, die von PHP hochgeladen werden

So lösen Sie das Problem verstümmelter Dateinamen, die von PHP hochgeladen werden

藏色散人
藏色散人Original
2020-07-24 10:45:172424Durchsuche

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.

So lösen Sie das Problem verstümmelter Dateinamen, die von PHP hochgeladen werden

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[&#39;tmp_name&#39;], "upload/" . $file["name"]);
        echo &#39;文件上传成功!&#39;;


    }
}

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(&#39;utf-8&#39;,&#39;gb2312&#39;,"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(&#39;utf-8&#39;,&#39;gb2312&#39;,"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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn