Explication détaillée de la méthode de téléchargement de fichiers PHP et de l'analyse des informations [avec vidéo]

藏色散人
Libérer: 2019-11-02 18:02:10
original
5388 Les gens l'ont consulté

Cet article présente principalement en détail la méthode de téléchargement de fichiers PHP et son analyse des informations.

L'utilisation de PHP pour implémenter la fonction de téléchargement de fichiers est relativement courante dans le développement de projets PHP, mais cela peut être difficile pour certains novices. Ci-dessous, nous l'expliquerons en détail à travers des exemples de code spécifiques.

Créez d'abord un formulaire HTML pour le téléchargement de fichiers

L'exemple de code est le suivant :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
 选择文件进行上传: <input type="file" name="file">
    <input type="submit" value="上传">
</form>
</body>
</html>
Copier après la connexion

Le l'effet est le suivant :

Explication détaillée de la méthode de téléchargement de fichiers PHP et de lanalyse des informations [avec vidéo]

Dans le code ci-dessus, nous définissons le type de fichier sur le bouton d'entrée et définissons le nom du fichier téléchargé sur file . Lorsque nous cliquons pour sélectionner un fichier ou une image, les données du formulaire seront envoyées à upload.php, puis les opérations associées seront effectuées sur le fichier téléchargé.

Ensuite, dans le fichier upload.php, nous définirons une méthode pour analyser les informations pertinentes du fichier téléchargé

L'exemple de code spécifique est le suivant :

<?php
$fileInfo = $_FILES[&#39;file&#39;];
var_dump($_FILES[&#39;file&#39;]);

function upload_file($fileInfo, $upload = "./upload", $imagesExt = [&#39;gif&#39;, &#39;png&#39;, &#39;jpg&#39;])
{
    if ($fileInfo[&#39;error&#39;] === 0) {
        $ext = strtolower(pathinfo($fileInfo[&#39;name&#39;], PATHINFO_EXTENSION));
        if (!in_array($ext, $imagesExt)) {
            return "文件非法类型";
        }
        if (!is_dir($upload)) {
            mkdir($upload, 0777, true);
        }
        $fileName = md5(uniqid(microtime(true), true)) . "." . $ext;
        $destName = $upload . "/" . $fileName;
        if (!move_uploaded_file($fileInfo[&#39;tmp_name&#39;], $destName)) {
            return "文件上传失败!";
        }
        return "文件上传成功!";
    } else {
        switch ($fileInfo[&#39;error&#39;]) {
            case 1:
                echo &#39;上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值&#39;;
                break;
            case 2:
                echo &#39;上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值&#39;;
                break;
            case 3:
                echo &#39;文件只有部分被上传&#39;;
                break;
            case 4:
                echo &#39;没有文件被上传&#39;;
                break;
            case 6:
                echo &#39;找不到临时文件夹&#39;;
                break;
            case 7:
                echo &#39;文件写入失败&#39;;
                break;
        }
    }
}
var_dump(upload_file($fileInfo));
Copier après la connexion
🎜>

Dans le code PHP ci-dessus, une variable $fileInfo est définie pour recevoir les données téléchargées depuis le formulaire, puis la fonction var_dump est utilisée pour imprimer les informations du fichier téléchargé et l'afficher dans un tableau.

Ensuite, lorsqu'il n'y a aucun moyen de juger le fichier, l'effet d'y accéder directement via le navigateur est le suivant :

Explication détaillée de la méthode de téléchargement de fichiers PHP et de lanalyse des informations [avec vidéo]

Astuce

 : error représente le message d'erreur. Le numéro d'erreur ici est 0, ce qui signifie que le fichier téléchargé ne contient aucune erreur. Mais dans le manuel PHP, le numéro d'erreur est supérieur à 0.

Ce qui suit est un bref résumé des numéros d'erreur sous forme de tableau

值为 0
值为 1 值为 2 值为 3 值为 4 值为 6 值为 7
没有错误发生,文件上传成功。 上传的文件超过了php.ini中       upload_max_filesize 选项限制的值。       上传文件的大小超过了 HTML 表单中       MAX_FILE_SIZE 选项指定的值。 文件只有部分被上传。       没有文件被上传 找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。 文件写入失败。PHP 5.1.0 引进。
La valeur est 0

La valeur est 1 La valeur est 2 La valeur est 3 La valeur est 4 La valeur est 6 La valeur est 7
Aucune erreur ne s'est produite et le fichier a été téléchargé avec succès. Le fichier téléchargé dépasse la valeur limitée par l'option upload_max_filesize dans php.ini. La taille du fichier téléchargé dépasse la valeur spécifiée par l'option MAX_FILE_SIZE dans le formulaire HTML. Seule une partie du fichier a été téléchargée. Aucun fichier téléchargé Le dossier temporaire est introuvable. Introduit dans PHP 4.3.10 et PHP 5.0.3. Échec de l'écriture du fichier. Introduit dans PHP 5.1.0.
Après avoir compris les connaissances pertinentes sur les numéros d'erreur, nous pouvons concevoir une méthode de téléchargement PHP pour porter plusieurs jugements sur les fichiers téléchargés. Dans le code ci-dessus, le code spécifique pour le jugement de méthode a été écrit de manière très détaillée. Tout d'abord, nous avons défini la méthode upload_file(), qui a reçu trois paramètres, qui représentent respectivement les informations de téléchargement de fichier, le répertoire et un tableau pour déterminer le type de fichier. .

Utilisez ensuite if else et changez de déclaration de jugement pour juger les fichiers téléchargés un par un.

La méthode ici est basée sur le type de fichier, l'existence du dossier de téléchargement et le message d'erreur.

Enfin, après avoir téléchargé une image, l'effet final affiché est le suivant :

Explication détaillée de la méthode de téléchargement de fichiers PHP et de lanalyse des informations [avec vidéo]

Remarque :

md5() dans le code ci-dessus La fonction n'est pas utilisée pour le cryptage, mais pour l'encodage.

L'article ci-dessus concerne la méthode spécifique de téléchargement de fichiers PHP. J'espère qu'il sera utile aux amis dans le besoin ! Le tutoriel vidéo correspondant est [Méthode d'analyse des informations de téléchargement de fichiers PHP et de téléchargement d'encapsulation
] pour votre référence !

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