Maison  >  Article  >  développement back-end  >  Comment résoudre le problème des noms de fichiers tronqués téléchargés par php

Comment résoudre le problème des noms de fichiers tronqués téléchargés par php

藏色散人
藏色散人original
2020-07-24 10:45:172493parcourir

La solution au nom de fichier tronqué téléchargé par PHP : ajoutez d'abord le code "header("Content-type: text/html; charset=utf-8");" en tête du fichier PHP ; puis définissez une variable ; exécutez enfin la page PHP.

Comment résoudre le problème des noms de fichiers tronqués téléchargés par php

Recommandé : "Tutoriel PHP"

Le téléchargement de fichiers est l'une des fonctions les plus couramment utilisées lorsque nous traitons un formulaire soumissions Tout d'abord, j'ai écrit une petite démo aujourd'hui, comme suit :

Regardons d'abord la structure :

html est la page de soumission du formulaire, et php sert à traiter le fichier du formulaire, le téléchargement 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[&#39;tmp_name&#39;], "upload/" . $file["name"]);
        echo &#39;文件上传成功!&#39;;


    }
}

J'ai téléchargé un fichier .txt, comme suit :

Exécution :

Vous pouvez voir que c'est très fluide, jetons un œil au résultat :

Le fichier téléchargé en ce moment est ce que nous voulons, mais il est tronqué. Bon, d'accord, résolvons-le :

Tout d'abord. , ajoutez Un tel morceau de code :

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

Ensuite, définissez une variable :

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

D'accord, regardons toute la page 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); } }

Exécuter :

Parfait.

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!

Déclaration:
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