<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>文件上传</title> </head> <body> <form action="upload.php" method='post' enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="2097152"> <input type="file" name="file" value="请选择要提交的文件" accept="image/*"> <input type="submit" value="上传"> </form> </body> </html>
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
对于在页面存储但不需要显示出来的值,我们通常使用上面的代码来存储。
<?php var_dump($_FILES); //显示上传文件的具体情况,这个不加也可以 $error=$_FILES['file']['error']; //$error用来判断文件是否错误 if($error){ switch ($error){ case 1:echo '上传的文件超过了php.ini中upload_max_filessize选项中限定的值';exit(); } } $size=$_FILES['file']['size']; //$size用来判断文件大小 if($size>2097152){ exit("文件大于2M,不能上传"); } $allowExt=['gif','jpg','jpeg','png']; //只允许上传gif,jpg,jpeg,png后缀的文件 $info=pathinfo($_FILES['file']['name']); //pathinfo() 函数以数组的形式返回文件路径的信息。 $fileExt=$info['extension']; if(!in_array($fileExt,$allowExt)){ exit("文件类型错误"); } $path="res"; if(!file_exists($path)){ mkdir($path); } //创建文件夹,将上传的临时文件保存在此 move_uploaded_file($_FILES['file']['tmp_name'],$path.'/'.uniqid().'.'.$fileExt); //将临时文件保存到本地 ?>
结果