Bagaimana untuk menyelesaikan masalah nama Cina bercelaru dalam fail php

藏色散人
Lepaskan: 2023-03-14 15:46:01
asal
4599 orang telah melayarinya

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>
Salin selepas log masuk

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


    }
}
Salin selepas log masuk

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");
Salin selepas log masuk

Kemudian tentukan pembolehubah:

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

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); } }
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!