So lösen Sie das Problem verstümmelter chinesischer Zeichen beim Hochladen von PHP-Dateien

藏色散人
Freigeben: 2023-03-04 21:18:01
Original
3225 Leute haben es durchsucht

Lösung für verstümmelte chinesische Zeichen beim Hochladen von PHP-Dateien: Öffnen Sie zuerst die entsprechende PHP-Datei und verwenden Sie dann die Methode „iconv(“UTF-8“, „gbk“,$name)“, um die Transkodierung des Dateinamens zu erzwingen und in UTF8 zu konvertieren Nur GBK.

So lösen Sie das Problem verstümmelter chinesischer Zeichen beim Hochladen von PHP-Dateien

Empfehlung: „PHP-Video-Tutorial

Über PHP-Upload-Dateien und verstümmelte chinesische Namen

Auf der Front-End-HTML-Seite sieht das Formular wie folgt aus:

Upload.html

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="2621114">
    <input type="file" required name="upload_file">
    <input type="submit" value="提交">
</form>
</body>
</html>
Nach dem Login kopieren

Achtung

enc type= „multipart/form-data“ muss geschrieben werden. Dies teilt dem Browser mit, was Sie hochladen

Maximaler Wert der Einstellungsdatei

Backend upload.php

<?php
if (is_uploaded_file($_FILES[&#39;upload_file&#39;][&#39;tmp_name&#39;])){
    $upfile = $_FILES[&#39;upload_file&#39;];
    //print_r($upfile);
    $name = $upfile[&#39;name&#39;];//获取文件名
    $type = $upfile[&#39;type&#39;];//文件类型
    $size = $upfile[&#39;size&#39;];//文件大小
    $tmp_name = $upfile[&#39;tmp_name&#39;];//服务器存储的临时名称
    $error = $upfile[&#39;error&#39;];//错误信息
    switch ($type){
        case &#39;image/png&#39;:
            $ok=1;
            break;
        case &#39;image/jpg&#39;:
            $ok=1;
            break;
        case &#39;image/jif&#39;:
            $ok=1;
            break;
        case &#39;image/jpeg&#39;:
            $ok=1;
            break;
    }
    if ($ok && $error == 0){
        move_uploaded_file($tmp_name,&#39;./upload/&#39;.iconv("UTF-8", "gbk",$name));
        echo &#39;文件上传成功&#39;;
    }else{
        echo &#39;文件上传失败&#39;;
    }
}
Nach dem Login kopieren

Beim Hochladen empfängt PHP eine Reihe von Informationen über die Datei, die im superglobalen Array $_FILES zu finden sind.

Zum Beispiel: Wenn der Name des Dateieingabefelds im Formular upload_file lautet, sind alle Informationen über die Datei im Array $_FILES['upload_file'] enthalten.

is_uploaded_file – Bestimmen Sie, ob die Datei über HTTP POST hochgeladen wird.

move_uploaded_file – Verschieben Sie die hochgeladene Datei an einen neuen Speicherort ",$name), konvertieren Sie UTF8 in GBK, damit keine verstümmelten Zeichen entstehen

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter chinesischer Zeichen beim Hochladen von PHP-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!