Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menyelesaikan masalah nama Cina bercelaru dalam fail php
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.
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['tmp_name'], "upload/" . $file["name"]); echo '文件上传成功!'; } }
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('utf-8','gb2312',"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('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); } }
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!