Maison > développement back-end > Problème PHP > Comment résoudre le problème du nom chinois tronqué dans les fichiers php

Comment résoudre le problème du nom chinois tronqué dans les fichiers php

藏色散人
Libérer: 2023-03-14 15:46:01
original
4660 Les gens l'ont consulté

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.

Comment résoudre le problème du nom chinois tronqué dans les fichiers php

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>
Copier après la connexion

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


    }
}
Copier après la connexion

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");
Copier après la connexion

  Ensuite, définissez une variable :

$name = iconv(&#39;utf-8&#39;,&#39;gb2312&#39;,"upload/".$file["name"]);
Copier après la connexion

  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(&#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); } }
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal