Étapes pour télécharger des fichiers php

É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 ;


Formation continue
||
<form action="" enctype="multipart/form-data" method="post" name="uploadfile">上传文件:<input type="file" name="upfile" /><br> <input type="submit" value="上传" /></form> <?php //print_r($_FILES["upfile"]); if(is_uploaded_file($_FILES['upfile']['tmp_name'])){ $upfile=$_FILES["upfile"]; //获取数组里面的值 $name=$upfile["name"];//上传文件的文件名 $type=$upfile["type"];//上传文件的类型 $size=$upfile["size"];//上传文件的大小 $tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径 //判断是否为图片 switch ($type){ case 'image/pjpeg':$okType=true; break; case 'image/jpeg':$okType=true; break; case 'image/gif':$okType=true; break; case 'image/png':$okType=true; break; } if($okType){ /** * 0:文件上传成功<br/> * 1:超过了文件大小,在php.ini文件中设置<br/> * 2:超过了文件的大小MAX_FILE_SIZE选项指定的值<br/> * 3:文件只有部分被上传<br/> * 4:没有文件被上传<br/> * 5:上传文件大小为0 */ $error=$upfile["error"];//上传后系统返回的值 echo "================<br/>"; echo "上传文件名称是:".$name."<br/>"; echo "上传文件类型是:".$type."<br/>"; echo "上传文件大小是:".$size."<br/>"; echo "上传后系统返回的值是:".$error."<br/>"; echo "上传文件的临时存放路径是:".$tmp_name."<br/>"; echo "开始移动上传文件<br/>"; //把上传的临时文件移动到up目录下面 move_uploaded_file($tmp_name,'up/'.$name); $destination="up/".$name; echo "================<br/>"; echo "上传信息:<br/>"; if($error==0){ echo "文件上传成功啦!"; echo "<br>图片预览:<br>"; echo "<img src=".$destination.">"; //echo " alt=\"图片预览:\r文件名:".$destination."\r上传时间:\">"; }elseif ($error==1){ echo "超过了文件大小,在php.ini文件中设置"; }elseif ($error==2){ echo "超过了文件的大小MAX_FILE_SIZE选项指定的值"; }elseif ($error==3){ echo "文件只有部分被上传"; }elseif ($error==4){ echo "没有文件被上传"; }else{ echo "上传文件大小为0"; } }else{ echo "请上传jpg,gif,png等格式的图片!"; } } ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel