Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyelesaikan masalah nama Cina bercelaru dalam fail php

Bagaimana untuk menyelesaikan masalah nama Cina bercelaru dalam fail php

藏色散人
藏色散人asal
2021-12-27 10:09:564638semak imbas

Penyelesaian kepada nama Cina yang kacau bagi fail php: 1. Tambahkan kod charset pada pengepala fail php: 2. Tetapkan "iconv('utf-8','gb2312',"upload/" .$file ["nama"]);" Itu sahaja.

Bagaimana untuk menyelesaikan masalah nama Cina bercelaru dalam fail php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer Dell G3.

Bagaimana untuk menyelesaikan masalah nama fail Cina yang kacau-bilau dalam fail php?

Penyelesaian kepada nama fail Cina yang kacau bagi fail yang dimuat naik php

Muat naik fail ialah salah satu fungsi yang paling biasa digunakan apabila kami memproses penyerahan borang Hari ini saya menulis demo kecil, seperti berikut:

Mari lihat strukturnya dahulu:

html ialah halaman untuk penyerahan borang, php ialah fail untuk memproses borang dan muat naik ialah lokasi di mana fail yang dimuat naik diletakkan

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;;


    }
}

Saya memuat naik fail .txt, seperti berikut:

Laksanakan:

Anda boleh lihat ia sangat lancar, mari kita lihat hasilnya:

Fail yang dimuat naik pada masa ini adalah apa yang kita mahu, tetapi ia bercelaru. Baiklah, mari kita selesaikan ,:

Mula-mula, tambahkan sekeping kod ini pada kepala fail php:

header("Content-type: text/html; charset=utf-8");

Kemudian tentukan pembolehubah:

$name = iconv(&#39;utf-8&#39;,&#39;gb2312&#39;,"upload/".$file["name"]);

Okay, mari kita lihat Keseluruhan halaman PHP:

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); } }

Berjalan:

Sempurna

Pembelajaran yang disyorkan: "Tutorial video PHP

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah nama Cina bercelaru dalam fail php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn