Étapes du téléchargement de fichiers
Afin de mieux apprendre PHP, nous avons résumé le téléchargement de fichiers PHP extrêmement complexe en 6 étapes.
En utilisation réelle, vous pouvez terminer avec succès le téléchargement du fichier PHP en suivant ces 6 étapes :
1 Déterminez s'il y a un code d'erreur
.
Explication détaillée du code d'erreur renvoyé par le système :
错误码 | 说明 |
---|---|
0 | 无误,可以继续进行文件上传的后续操作。 |
1 | 超出上传文件的最大限制,upload_max_filesize = 2M php.ini中设置,一般默认为2M。可根据项目中的实际需要来修改 |
2 | 超出了指定的文件大小,根据项目的业务需求指定上传文件的大小限制 |
3 | 只有部分文件被上传 |
4 | 文件没有被上传 |
6 | 找不到临时文件夹,可能目录不存在或没权限 |
7 | 文件写入失败,可能磁盘满了或没有权限 |
Remarque : Il n'y a pas de 5 dans le code d'erreur.
2. Jugement personnalisé si la taille du fichier dépasse la plage
Lors du développement de la fonction de téléchargement. En tant que développeurs, nous, en plus de la valeur de téléchargement maximale spécifiée dans php.ini.
Nous définissons généralement également une valeur, qui correspond à la taille limite de téléchargement spécifiée par l'entreprise.
Par exemple :
Sina Weibo ou QQ Zone n'autorise qu'une seule photo d'avatar de 2M. Lors du téléchargement d’albums, vous pouvez en télécharger plus de 2 millions.
Ainsi, son système prend en charge le téléchargement de fichiers plus volumineux.
La taille du fichier de jugement ici est utilisée pour limiter la taille du fichier téléchargé que nous souhaitons spécifier dans les affaires réelles.
3. Déterminez si le nom du suffixe et le type MIME correspondent
Il y a aussi de mauvaises personnes dans le monde en ligne. Ils inséreront des virus dans les images, téléchargeront des virus dans des pièces jointes et inséreront des virus ou des images pornographiques dans des pages Web.
Nous devons juger du suffixe et du type MIME du fichier téléchargé.
MIME (MultiPurpose Internet Mail Extensions) est un type d'extension de messagerie Internet polyvalente. Il s'agit d'un type de méthode qui définit un fichier avec une certaine extension à ouvrir par une application. Lors de l'accès au fichier avec l'extension, le navigateur utilisera automatiquement l'application spécifiée pour l'ouvrir. Il est principalement utilisé pour spécifier certains noms de fichiers définis par le client et certaines méthodes d'ouverture de fichiers multimédias.
Lors de la détermination du suffixe et du type MIME, nous utiliserons une fonction PHP in_array(), qui transmet deux paramètres.
Le premier paramètre est la valeur à juger ;
Le deuxième paramètre est le tableau de plages.
Nous utilisons cette fonction pour déterminer si l'extension du fichier et le type MIME se situent dans la plage autorisée.
4. Générer le nom du fichier
Notre fichier a été téléchargé avec succès, mais il n'enregistrera pas le nom d'origine.
Parce que certaines personnes qui ont des mots-clés sensibles dans leur nom d'origine enfreindront les lois et réglementations en vigueur dans notre pays.
Nous pouvons utiliser date(), mt_rand() ou unique() pour générer des noms de fichiers aléatoires.
5. Déterminez s'il s'agit d'un fichier téléchargé
Lorsque le fichier est téléchargé avec succès, le système téléchargera le fichier temporaire téléchargé dans le répertoire temporaire du système. Créez un fichier temporaire.
Un nom de fichier temporaire sera également généré. Ce que nous devons faire est de déplacer les fichiers temporaires vers le répertoire spécifié sur le système.
Il n'est pas scientifique de ne pas bouger aveuglément avant de bouger, ou de mal bouger. Avant de déménager, nous devons utiliser les fonctions pertinentes pour déterminer si le fichier téléchargé est un fichier temporaire.
is_uploaded_file() transmet un paramètre (le nom du fichier cache dans $_FILES) pour déterminer si le nom transmis est un fichier téléchargé.
6. Déplacez les fichiers temporaires vers l'emplacement spécifié
Les fichiers temporaires sont de vrais fichiers temporaires, nous devons les déplacer vers le répertoire de notre site Web.
Rendre les données de notre répertoire de sites Web accessibles aux autres.
Nous utilisons : move_uploaded_file().
Cette fonction déplace le fichier téléchargé vers l'emplacement spécifié et le nomme.
Passez deux paramètres :
Le premier paramètre est le fichier téléchargé à déplacer
Le deuxième paramètre est la chaîne concaténant le dossier et le nom spécifiés ;