Fonction d'encapsulation du didacticiel de téléchargement de fichiers de développement PHP

Tout d'abord, nous devons mettre toutes les informations d'erreur du fichier de traitement dans un seul fichier

Ensuite, nous définirons un fichier de fonction, function.php

Nous utiliserons 3 fichiers ici, file.html doaction.php function.php

Nous n'entrerons pas dans les détails de la première page. Le code est le suivant :

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>文件上传</title>
</head>
<body>
    <form method="post" action="doaction1.php" enctype="multipart/form-data">
        上传文件:<input type="file" name="myfile"><br>
                  <input type="submit" value="上传文件">
    </form>
</body>
</html>

Jetons un œil à doaction.php<🎜. >

en-tête ("Content-type : text/html; charset=utf-8");

$fileinfo = $_FILES['myfile'];
$allowEXT = array('jpg',' png','jpeg ','gif');//Format du fichier
$maxfile = 2097152; //2M //Quelle est la taille du fichier
$ext = pathinfo($fileinfo['name'], PATHINFO_EXTENSION);//Obtenir le type de fichier
$file = $fileinfo['error']; //Informations sur l'erreur de stockage

Nous n'avons pas encore fini d'écrire ce fichier. Lorsque nous encapsulons la fonction, nous allons introduire le fichier encapsulé dans ce fichier, puis appeler la fonction

Regardons le fichier function.php Le code est le suivant :

<?php
    function files($file,$ext,$allowEXT,$maxfile,$size){
            //判断错误号
            if($file > 0){
                switch ($file){
                    case 1: $msg=  "上传文件超过了php 配置文件中 upload_max_filesize 的值";break;
                    case 2: $msg=  "上传文件超过max_file_size 大小";break;
                    case 3: $msg=  "文件部分被上传";break;
                    case 4: $msg=  "没有选择上传文件";break;
                    case 6: $msg=  "没有找到临时目录";break;
                    case 7: 
                    case 8: $msg=  "系统错误";break;
                }
                exit($msg);
            }
            //检测文件上传的类型
            if(!in_array($ext, $allowEXT)){
                exit('非法文件类型');
            }

            //检测上传文件的大小
            if($fileinfo['size']>$maxfile){
                exit('文件过大');
            }

            //检测是否是http post方式提交的
            if(!is_uploaded_file($fileinfo['$tmp_name'])){
                exit("文件不是以POST方式提交");
            }
            
    }
?>

Avec le code ci-dessus, nous avons. terminé l'encapsulation. La fonction a 4 paramètres

Avant de parler de doction.php, vous devez importer function.php, puis appeler la fonction

Le code complet de la documentation.php. le fichier est le suivant :

<?php
    header("Content-type: text/html; charset=utf-8");
    require_once("function.php"); 
    $fileinfo = $_FILES['myfile'];
    $allowEXT = array('jpg','png','jpeg','gif');//文件格式
    $maxfile = 2097152; //2M   //文件多大
    $ext = pathinfo($fileinfo['name'],PATHINFO_EXTENSION);//获取文件类型
    $file = $fileinfo['error']; //存放错误信息
    $size = $fileinfo['size'];
    files($file,$ext,$allowEXT,$maxfile,$size);
?>


Formation continue
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>文件上传</title> </head> <body> <form method="post" action="doaction1.php" enctype="multipart/form-data"> 上传文件:<input type="file" name="myfile"><br> <input type="submit" value="上传文件"> </form> </body> </html>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel