type属性为 file 的 input 元素可以通过表单提交文件(上传文件),服务端PHP可以通过$_FILES获取上传的文件信息
<?php if ($_SERVER[‘REQUEST_METHOD‘] === ‘POST‘) { var_dump($_FILES); //接收文件,使用一个 叫做 $_FILES 超全局成员 } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="<?php echo $_SERVER[‘PHP_SELF‘]; ?>" method="post" enctype="multipart/form-data"> <input type="text" name="bar"> --> <input type="file" name="img"> <button>提交</button> </form> </body> </html>
①如果一个表单中有文件域(文件上传),必须将表单的 method 设置为 post , enctype 设置为 multipart / form-data
②接收文件,使用一个叫做 $_FILES 超全局成员
文件上传案例
<?php if($_SERVER[‘REQUEST_METHOD‘]===‘POST‘) { postback(); } function postback(){ if(!isset($_FILES[‘fileUpload‘])){ $GLOBALS[‘message‘] ="客户端提交的表单内容中根本没有文件域"; return; } $fileUpload=$_FILES[‘fileUpload‘]; echo $fileUpload[‘error‘]; if($fileUpload[‘error‘] !== UPLOAD_ERR_OK){ $GLOBALS[‘message‘]="上传失败"; //服务端没有接收到上传的文件 return; } $sourceDir = $fileUpload[‘tmp_name‘]; //源文件在哪 $targetDir = ‘./targetDir/‘ . $fileUpload[‘name‘]; //目标放在哪 $moved=move_uploaded_file($sourceDir,$targetDir); if(!$moved){ $GLOBALS[‘message‘]="上传失败"; return; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>文件上传</title> </head> <body> <form action="<?php echo $_SERVER[‘PHP_SELF‘]; ?>" method="post" enctype="multipart/form-data"> <input type="file" name="fileUpload"> <button>上传</button> <?php if(isset($message)): ?> <?php echo $message;?> <?php endif ?> </form> </body> </html>
①$filesUpload => arrar(5) {
["name"] => string
}
原文:https://www.cnblogs.com/shanlu0000/p/11587466.html