Maison > Article > développement back-end > Comment résoudre le problème du nom chinois tronqué dans les fichiers php
Solution au nom chinois tronqué du fichier php : 1. Ajoutez le code charset à l'en-tête du fichier php : 2. Définissez "iconv('utf-8','gb2312',"upload/".$file[ "nom" ]);" C'est tout.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3.
Comment résoudre le problème du nom chinois tronqué du fichier php ?
Solution au nom de fichier chinois tronqué du fichier de téléchargement php
Le téléchargement de fichiers est l'une des fonctions les plus couramment utilisées lorsque nous traitons les soumissions de formulaires aujourd'hui. J'ai écrit une petite Une petite démo, comme suit :
Regardons d'abord la structure :
html est la page de soumission du formulaire, php est le fichier de traitement du formulaire, upload est l'emplacement où le fichier téléchargé est placé
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 '文件上传成功!'; } }
J'ai téléchargé un fichier .txt comme suit :
Exécuter :
Vous pouvez voir que c'est très fluide, regardons le résultat :
Le fichier téléchargé en ce moment est ce que nous voulons. Vous le voulez, mais il y a des caractères tronqués. Bon, d'accord, résolvons-le :
Tout d'abord, ajoutez ce morceau de code en tête du fichier php. :
header("Content-type: text/html; charset=utf-8");
Ensuite, définissez une variable :
$name = iconv('utf-8','gb2312',"upload/".$file["name"]);
Ok, alors jetons un coup d'œil à la page PHP entière :
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); } }
En cours d'exécution :
Parfait
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!