亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Téléchargement de fichiers PHP

Aper?u du téléchargement de fichiers

La fonction de téléchargement de fichiers est une fonction souvent utilisée dans la vie en ligne. Le téléchargement de fichiers peut être facilement réalisé à l'aide de PHP. Le processus spécifique est le suivant?:

Sélectionner le fichier dans le formulaire-> Vérifier la taille et le type du fichier-> ->?; Enregistrez les informations du fichier pour une gestion plus facile.

Dans la fonction de téléchargement de fichiers, les problèmes suivants doivent être pris en compte?:

1. Limiter la taille du fichier téléchargé

2. Limiter le type de fichier téléchargé

. ??>

3. Autoriser uniquement les utilisateurs de confiance à télécharger des fichiers pour empêcher la soumission à distance

4. Répertoire de stockage de fichiers c?té serveur

5. >via PHP, vous pouvez télécharger des fichiers sur le serveur.

Les exemples de ce chapitre sont complétés dans le cadre du projet de test. La structure du répertoire est :

test

|-----form. html # Fichier de formulaire

|-----upload_file.php # Code de téléchargement php


Téléchargement du code source

Créer un fichier formulaire de téléchargement

Il est très utile de permettre aux utilisateurs de télécharger des fichiers à partir du formulaire.

Regardez le formulaire HTML ci-dessous pour télécharger des fichiers?:

<html>
<head>
<meta charset="utf-8">
<title>php中文網(wǎng)(php.cn)</title>
</head>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>

Enregistrez le code ci-dessus dans le fichier form.html.

Certaines notes sur le formulaire HTML ci-dessus sont répertoriées ci-dessous?:

<form> L'attribut enctype de la balise spécifie le type de contenu à utiliser lors de la soumission du formulaire. Utilisez "multipart/form-data" lorsque votre formulaire nécessite des données binaires, telles que le contenu d'un fichier. L'attribut type="file" de la balise

<input> spécifie que l'entrée doit être traitée comme un fichier. Par exemple, lors de la prévisualisation dans un navigateur, vous verrez un bouton Parcourir à c?té de la zone de saisie.

Remarque?:?autoriser les utilisateurs à télécharger des fichiers constitue un risque de sécurité énorme. Veuillez autoriser uniquement les utilisateurs de confiance à effectuer des opérations de téléchargement de fichiers.


Créez le script d'upload

Le fichier "upload_file.php" contient le code d'upload des fichiers :

<?php
 if ($_FILES["file"]["error"] > 0)
 {
   echo "錯誤:" . $_FILES["file"]["error"] . "<br>";
 }
   else
 {
   echo "上傳文件名: " . $_FILES["file"]["name"] . "<br>";
   echo "文件類型: " . $_FILES["file"]["type"] . "<br>";
   echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
   echo "文件臨時存儲的位置: " . $_FILES["file"]["tmp_name"];
 }
?>

En utilisant le global de PHP array $_FILES, vous pouvez télécharger des fichiers de l'ordinateur client vers le serveur distant.

Le premier paramètre est le nom d'entrée du formulaire, et le deuxième indice peut être "name", "type", "size", "tmp_name" ou "error". Comme indiqué ci-dessous?:

$_FILES["file"]["name"] - le nom du fichier téléchargé

$_FILES["file"]["type"] - le type du fichier téléchargé

$_FILES["file"]["size"] - Taille du fichier téléchargé en octets

$_FILES["file"]["tmp_name"] - Stocké sur le serveur Le nom de la copie temporaire du fichier

$_FILES["file"]["error"] - Code d'erreur provoqué par le téléchargement de fichiers

Il s'agit d'un moyen très simple de télécharger des fichiers. Pour des raisons de sécurité, vous devez ajouter des restrictions sur les personnes autorisées à télécharger des fichiers.

Limitation de téléchargement

Dans ce script, nous avons ajouté une limite sur les téléchargements de fichiers. Les utilisateurs ne peuvent télécharger que des fichiers .gif, .jpeg, .jpg, .png et la taille du fichier doit être inférieure à 200 Ko?:

    <?php
        // 允許上傳的圖片后綴
        $allowedExts = array("gif", "jpeg", "jpg", "png");
        $temp = explode(".", $_FILES["file"]["name"]);
        $extension = end($temp);        // 獲取文件后綴名
        if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/jpg")
        || ($_FILES["file"]["type"] == "image/pjpeg")
        || ($_FILES["file"]["type"] == "image/x-png")
        || ($_FILES["file"]["type"] == "image/png"))
        && ($_FILES["file"]["size"] < 204800)    // 小于 200 kb
        && in_array($extension, $allowedExts))
        {
            if ($_FILES["file"]["error"] > 0)
            {
                echo "錯誤:: " . $_FILES["file"]["error"] . "<br>";
            }
            else
            {
                echo "上傳文件名: " . $_FILES["file"]["name"] . "<br>";
                echo "文件類型: " . $_FILES["file"]["type"] . "<br>";
                echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
                echo "文件臨時存儲的位置: " . $_FILES["file"]["tmp_name"];
            }
        }
        else
        {
            echo "非法的文件格式";
        }
     ?>

Enregistrez le fichier téléchargé

ci-dessus L'instance crée une copie temporaire du fichier téléchargé dans le dossier temporaire PHP du serveur.

Cette copie temporaire dispara?tra à la fin du script. Pour enregistrer le fichier téléchargé, nous devons le copier vers un autre emplacement?:

 <?php
        // 允許上傳的圖片后綴
        $allowedExts = array("gif", "jpeg", "jpg", "png");
        $temp = explode(".", $_FILES["file"]["name"]);
        echo $_FILES["file"]["size"];
        $extension = end($temp);     // 獲取文件后綴名
        if ((($_FILES["file"]["type"] == "image/gif")
        || ($_FILES["file"]["type"] == "image/jpeg")
        || ($_FILES["file"]["type"] == "image/jpg")
        || ($_FILES["file"]["type"] == "image/pjpeg")
        || ($_FILES["file"]["type"] == "image/x-png")
        || ($_FILES["file"]["type"] == "image/png"))
        && ($_FILES["file"]["size"] < 204800)   // 小于 200 kb
        && in_array($extension, $allowedExts))
        {
            if ($_FILES["file"]["error"] > 0)
            {
                echo "錯誤:: " . $_FILES["file"]["error"] . "<br>";
            }
            else
            {
                echo "上傳文件名: " . $_FILES["file"]["name"] . "<br>";
                echo "文件類型: " . $_FILES["file"]["type"] . "<br>";
                echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
                echo "文件臨時存儲的位置: " . $_FILES["file"]["tmp_name"] . "<br>";
                // 判斷當(dāng)期目錄下的 upload 目錄是否存在該文件
                // 如果沒有 upload 目錄,你需要創(chuàng)建它,upload 目錄權(quán)限為 777
                if (file_exists("upload/" . $_FILES["file"]["name"]))
                {
                    echo $_FILES["file"]["name"] . " 文件已經(jīng)存在。 ";
                }
                else
                {
                    // 如果 upload 目錄不存在該文件則將文件上傳到 upload 目錄下
                    move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
                    echo "文件存儲在: " . "upload/" . $_FILES["file"]["name"];
                }
            }
        }
        else
        {
            echo "非法的文件格式";
        }
        ?>

Le script ci-dessus vérifie si le fichier existe déjà. S'il n'existe pas, il copie le fichier dans un répertoire nommé "upload" Down. .

L'opération de démonstration de téléchargement de fichiers est la suivante?:


104.gif

Formation continue
||
<html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> //需要upload_file.php文件 <label for="file">文件名:</label> <input type="file" name="file" id="file"><br> <input type="submit" name="submit" value="提交"> </form> </body> </html>
soumettreRéinitialiser le code