Principe du téléchargement
Téléchargez les fichiers clients sur le serveur, puis déplacez les fichiers côté serveur (fichiers temporaires) vers le répertoire spécifié.
En apprenant le téléchargement de fichiers, vous verrez l'essence du téléchargement de fichiers à travers le phénomène d'utilisation !
Mise en place de la mise en ligne
1. Configuration du client
Sélectionnez la page de téléchargement de fichiers (page formulaire)
Les deux suivantes sont indispensables :
La méthode d'envoi est POST
Ajouter l'attribut enctype="multipart/form-data"
Le code index.php est comme suit :
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="format-detection" content="telephone=no" /> <title>文件上传</title> <meta charset="utf-8" /> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> 请选择您要上传的文件:<br/> <input type="file" name="myFile" /><br/> <input type="submit" value="上传"/> </form> </body> </html>
Remarque : La clé est l'attribut du formulaire ; l'autre est que type="file" est utilisé dans input
2. Page de traitement du téléchargement
L'organigramme du processus de téléchargement est le suivant :
Le code upload.php est le suivant :
<?php header("Content-type:text/html;charset=utf-8"); //文件上传处理程序 //$_FILES:文件上传变量 /*echo "<pre>"; var_dump($_FILES); exit; echo "</pre>";*/ $filename=$_FILES['myFile']['name']; $type=$_FILES['myFile']['type']; $tmp_name=$_FILES['myFile']['tmp_name']; $size=$_FILES['myFile']['size']; $error=$_FILES['myFile']['error']; //将服务器上的临时文件移动到指定位置 //方法一move_upload_file($tmp_name,$destination) //move_uploaded_file($tmp_name, "uploads/".$filename);//文件夹应提前建立好,不然报错 //方法二copy($src,$des) //以上两个函数都是成功返回真,否则返回false //copy($tmp_name, "copies/".$filename); //注意,不能两个方法都对临时文件进行操作,临时文件似乎操作完就没了,我们试试反过来 copy($tmp_name, "copies/".$filename); move_uploaded_file($tmp_name, "uploads/".$filename); //能够实现,说明move那个函数基本上相当于剪切;copy就是copy,临时文件还在 //另外,错误信息也是不一样的,遇到错误可以查看或者直接报告给用户 if ($error===0) { echo "上传成功!"; }else{ switch ($error){ case 1: echo "超过了上传文件的最大值,请上传2M以下文件"; break; case 2: echo "上传文件过多,请一次上传20个及以下文件!"; break; case 3: echo "文件并未完全上传,请再次尝试!"; break; case 4: echo "未选择上传文件!"; break; case 5: echo "上传文件为0"; break; } }
Après avoir cliqué sur télécharger, ce qui suit apparaît :
Remarque : Vous devez créer un nouveau dossier de téléchargement dans le même répertoire que upload.php pour stocker les images téléchargées, sinon une erreur sera signalée
parmi eux $_FILES est la variable de téléchargement de fichier Imprimez-la
pour obtenir un tableau bidimensionnel. Tout le monde devrait pouvoir comprendre cela. Il y a deux points clés : tmp_name nom du fichier temporaire ; message d'erreur (nom de code, peut être utilisé plus tard)
La partie derrière upload.php utilise un message d'erreur pour réagir ; à l'utilisateur. Dans la section suivante, nous découvrirons le rapport d'erreurs