Que dois-je faire si le nom du fichier téléchargé par php est tronqué ?

藏色散人
Libérer: 2023-03-04 10:56:02
original
2802 Les gens l'ont consulté

La solution au nom de fichier tronqué dans les téléchargements PHP : ouvrez d'abord le fichier "Upload.html" ; puis ajoutez l'instruction "enctype="multipart/form-data"" puis ouvrez le "upload.php" ; " fichier ; et enfin corriger Le nom du fichier peut être forcé à être transcodé.

Que dois-je faire si le nom du fichier téléchargé par php est tronqué ?

Recommandé : "Tutoriel vidéo PHP"

Fichiers de téléchargement PHP et noms chinois tronqués

À propos du téléchargement de fichiers PHP

Sur la page HTML frontale, le formulaire est le suivant

Upload.html

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="2621114">
    <input type="file" required name="upload_file">
    <input type="submit" value="提交">
</form>
</body>
</html>
Copier après la connexion

Remarque

enctype=" "multipart/form-data" doit être écrit. Cela indique au navigateur ce que vous téléchargez

Le fichier de paramètres front-end est volumineux Valeur maximale

Backend upload.php

<?php
if (is_uploaded_file($_FILES[&#39;upload_file&#39;][&#39;tmp_name&#39;])){
    $upfile = $_FILES[&#39;upload_file&#39;];
    //print_r($upfile);
    $name = $upfile[&#39;name&#39;];//获取文件名
    $type = $upfile[&#39;type&#39;];//文件类型
    $size = $upfile[&#39;size&#39;];//文件大小
    $tmp_name = $upfile[&#39;tmp_name&#39;];//服务器存储的临时名称
    $error = $upfile[&#39;error&#39;];//错误信息
    switch ($type){
        case &#39;image/png&#39;:
            $ok=1;
            break;
        case &#39;image/jpg&#39;:
            $ok=1;
            break;
        case &#39;image/jif&#39;:
            $ok=1;
            break;
        case &#39;image/jpeg&#39;:
            $ok=1;
            break;
    }
    if ($ok && $error == 0){
        move_uploaded_file($tmp_name,&#39;./upload/&#39;.iconv("UTF-8", "gbk",$name));
        echo &#39;文件上传成功&#39;;
    }else{
        echo &#39;文件上传失败&#39;;
    }
}
Copier après la connexion

Lors du téléchargement, PHP reçoit un tableau d'informations sur le fichier, qui peuvent être stockées dans le tableau super global, $_FILES apparaît.

Par exemple : si le nom de la zone de saisie du fichier dans le formulaire est upload_file, alors toutes les informations sur le fichier sont incluses dans le tableau $_FILES['upload_file'].

is_uploaded_file — Détermine si le fichier a été téléchargé via HTTP POST

move_uploaded_file — Déplace le fichier téléchargé vers un nouvel emplacement

bool move_uploaded_file ( string $filename , string $destination )
Copier après la connexion

Lorsque vous rencontrez un nom de fichier chinois, corrigez le fichier name est obligé de transcoder iconv("UTF-8", "gbk",$name) pour convertir UTF8 en gbk, afin qu'il n'y ait pas de caractères tronqués

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