Maison >développement back-end >tutoriel php >Explication détaillée de $_FILES dans les variables super globales PHP

Explication détaillée de $_FILES dans les variables super globales PHP

藏色散人
藏色散人avant
2020-01-27 15:20:163990parcourir

Explication détaillée de $_FILES dans les variables super globales PHP

$_FILES - Un tableau d'éléments téléchargés vers le script actuel via HTTP POST.

Supposons que nous téléchargeons le nom du champ du fichier='userfile', le tableau $_FILES comprend :

$_FILES['userfile']['name']      //客户端机器文件的原名称。
$_FILES['userfile']['type']     //文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
$_FILES['userfile']['size']     //已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name']   //文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']      //和该文件上传相关的错误代码。此项目是在 PHP 4.2.0 版本中增加的。
/**

Les codes d'erreur sont :

UPLOAD_ERR_OK

La valeur est 0, aucune erreur ne se produit et le fichier est téléchargé avec succès.

UPLOAD_ERR_INI_SIZE

La valeur est 1 et le fichier téléchargé dépasse la valeur limitée par l'option upload_max_filesize dans php.ini.

UPLOAD_ERR_FORM_SIZE

Avec une valeur de 2, la taille du fichier téléchargé dépasse la valeur spécifiée par l'option MAX_FILE_SIZE dans le formulaire HTML.

par exemple, ajoutez un champ masqué dans le formulaire : l'unité de valeur est en octets

<form enctype="multipart/form-data" action="test.php" method="POST">
  <!-- MAX_FILE_SIZE must precede the file input field -->
  <input type="hidden" name="MAX_FILE_SIZE" value="12" />
  <!-- Name of input element determines name in $_FILES array -->
  Send this file: <input name="userfile" type="file" />
  <input type="submit" value="Send File" />
</form>

                                            3. Seule une partie du fichier est téléchargée.

UPLOAD_ERR_NO_FILE

La valeur est 4 et aucun fichier n'a été téléchargé.

UPLOAD_ERR_NO_TMP_DIR

La valeur est 6 et le dossier temporaire est introuvable. Introduit dans PHP 4.3.10 et PHP 5.0.3.

UPLOAD_ERR_CANT_WRITE

La valeur est 7, l'écriture du fichier a échoué. Introduit dans PHP 5.1.0.

Une fois le fichier téléchargé, il sera stocké par défaut dans le répertoire temporaire par défaut du serveur, à moins que upload_tmp_dir dans php.ini ne soit défini sur un autre chemin. Le répertoire temporaire par défaut côté serveur peut être réinitialisé en modifiant la variable d'environnement TMPDIR de l'environnement d'exécution PHP, mais sa définition en exécutant la fonction putenv() dans le script PHP n'a aucun effet. Cette variable d'environnement peut également être utilisée pour confirmer que d'autres opérations sont également effectuées sur le fichier téléchargé. Autres fonctions pouvant être utilisées pour le téléchargement de fichiers :

is_uploaded_file :

is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的
is_uploaded_file ( string $filename ) : bool

Paramètres : filename - le nom du fichier à vérifier.

Valeur de retour : VRAI en cas de succès, ou FAUX en cas d'échec. Renvoie VRAI si le fichier indiqué par nom de fichier a été téléchargé via HTTP POST. Cela peut être utilisé pour garantir qu'un utilisateur malveillant ne puisse pas tromper un script pour qu'il accède à des fichiers autrement inaccessibles, tels que /etc/passwd.

move_uploaded_file :

move_uploaded_file — 将上传的文件移动到新位置
move_uploaded_file ( string $filename , string $destination ) : bool

Paramètres : filename Le nom du fichier de destination téléchargé déplace le fichier vers cet emplacement (chemin absolu)

Ceci ; vérifications des fonctions Et assurez-vous que le fichier spécifié par nom de fichier est un fichier de téléchargement légal (c'est-à-dire téléchargé via le mécanisme de téléchargement HTTP POST de PHP). Si le fichier est légal, il est déplacé vers le fichier spécifié par destination. Pour plus de connaissances sur php, veuillez visiter le

tutoriel 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer