Maison > Article > développement back-end > Combiner PHP et HTML pour implémenter le code permettant de télécharger des fichiers image sur le serveur
Le contenu de cet article concerne le code qui combine php et html pour télécharger des fichiers image sur le serveur. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Code One.html
<body> <form action="" method="post" enctype="multipart/form-data" name="upload_form"> <label>选择图片文件</label> <input name="imgfile" type="file" accept="image/gif, image/jpeg"/> <input name="upload" type="submit" value="上传" /> </form> </body>
Code Two.php
if (isset($_FILES['imgfile']) && is_uploaded_file($_FILES['imgfile']['tmp_name'])) { $imgFile = $_FILES['imgfile']; $upErr = $imgFile['error']; if ($upErr == 0) { $imgType = $imgFile['type']; //文件类型。 /* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/ if ($imgType == 'image/jpeg' || $imgType == 'image/gif') { $imgFileName = $imgFile['name']; $imgSize = $imgFile['size']; $imgTmpFile = $imgFile['tmp_name']; /* 将文件从临时文件夹移到上传文件夹中。 注意:upfile这个文件夹必须先创建好,不然会报错。 */ move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName); /*显示上传后的文件的信息。*/ $strPrompt = sprintf("文件%s上传成功<br>" . "文件大小: %s字节<br>" . "<img src='upfile/%s'>" , $imgFileName, $imgSize, $imgFileName ); echo $strPrompt; } else { echo "请选择jpg或gif文件,不支持其它类型的文件。"; } } else { echo "文件上传失败。<br>"; switch ($upErr) { case 1: echo "超过了php.ini中设置的上传文件大小。"; break; case 2: echo "超过了MAX_FILE_SIZE选项指定的文件大小。"; break; case 3: echo "文件只有部分被上传。"; break; case 4: echo "文件未被上传。"; break; case 5: echo "上传文件大小为0"; break; } } } else { }
Trois.php Analyse du code :
$_FILES est une variable de tableau utilisée pour enregistrer les informations du fichier téléchargé.
$_FILES['imgfile'] indique les informations du fichier téléchargé après que le contrôle avec le nom de domaine du fichier 'imgfile' soit soumis au serveur.
Un fichier téléchargé possède les informations d'attribut suivantes :
'name' : Le nom du fichier téléchargé sur le client.
'type' : Le type MIME du fichier, tel que "image/jpeg".
'size' : La taille du fichier téléchargé, en octets.
'tmp_name' : Lors du téléchargement, côté serveur, le fichier téléchargé sera enregistré dans un dossier temporaire. Vous pouvez obtenir le nom du fichier temporaire via cet attribut.
'erreur' : code d'erreur lors du téléchargement du fichier. Si le téléchargement réussit, cette valeur est 0. Les significations des autres valeurs sont les suivantes :
1 : Dépasse la taille du fichier de téléchargement définie dans php.ini.
2 : Dépassement de la taille du fichier spécifiée par l'option MAX_FILE_SIZE.
3 : Seule une partie du fichier est téléchargée.
4 : Le fichier n'a pas été téléchargé.
5 : La taille du fichier téléchargé est 0.
Le code détermine d'abord si la variable $_FILES['imgfile'] existe Si elle existe, et le fichier pointé par $_FILES['imgfile']['tmp_name'. ] est téléchargée, déterminez l'attribut d'erreur. Si l'attribut est 0, déplacez l'image téléchargée du dossier temporaire vers le dossier upfile, affichez les informations sur le fichier téléchargé et affichez l'image téléchargée.
Si la valeur d'erreur n'est pas 0, cela signifie que le téléchargement a échoué et le message d'échec s'affiche.
4. Code complet
上传图片文件 " . "文件大小: %s字节
" . "" , $imgFileName, $imgSize, $imgFileName ); echo $strPrompt; } else { echo "请选择jpg或gif文件,不支持其它类型的文件。"; } } else { echo "文件上传失败。
"; switch ($upErr) { case 1: echo "超过了php.ini中设置的上传文件大小。"; break; case 2: echo "超过了MAX_FILE_SIZE选项指定的文件大小。"; break; case 3: echo "文件只有部分被上传。"; break; case 4: echo "文件未被上传。"; break; case 5: echo "上传文件大小为0"; break; } } } else { /*显示表单。*/ ?> <body> <form action="" method="post" enctype="multipart/form-data" name="upload_form"> <label>选择图片文件</label> <input name="imgfile" type="file" accept="image/gif, image/jpeg"/> <input name="upload" type="submit" value="上传" /> </form> </body>
Articles connexes recommandés :
Que sont les contraintes de type PHP ? Introduction et utilisation des contraintes de type 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!