1 文件上传
1.1 机制
当上传一个文件时,会先将其作为临时目录传到服务器,如果不将其启动到其它目录,就会删除。
1.2 需要使用的东西
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file">
l 在表单里写个输入类型为file
l 还需要添加enctype="multipart/form-data"
详情查手册:POST方法上传
上传的表单界面
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>上传文件</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> 用户名:<input type="text" name="uName"><br /> <!-- 对于浏览器的建议,设置文件大小 --> <input type="hidden" name="MAX_FILE_SIZE" value="30000"> 文件:<input type="file" name="img"> <input type="submit" value="提交"> </form> </body> </html>
php上传后端:upload.php
<?php $uName =$_POST['uName']; echo $uName.'<br/>'; //1.首先判断是否出错 if($_FILES['userfile']['error'] > 0){ switch($_FILES['userfile']['error']){ case 1: die('上传文件超过了php.ini中upload_max_filesize选项限制的值。'); case 2: die('上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。'); case 3: die('文件只有部分被上传。'); case 4: die('文件没有被上传'); case 6: die('找不到临时文件'); case 7: die('文件写入失败'); } } //2.判断上传类型是否符合规定 echo $_FILES['userfile']['type']; $type = array('image/jpeg','image/png','image/gif');//允许的格式 if(!in_array($_FILES['userfile']['type'],$type)){ die('别给我乱传东西。'); } //3.判断所传文件大小是否在运许之内 $size = 300000; if($_FILES['userfile']['size'] > $size){ die('文件过大,别搞啊。'); } //4.制作上传的目录 $uploaddir = 'D:/phpstudy/phpstudy_pro/WWW/test/文件上传实例/upload'; if(!file_exists($uploaddir)){ mkdir($uploaddir); } //5.重命名文件 //(1)先获取后缀名,突然感觉我不想这么做 //$suffix = strrchr($_FILES['userfile']['name'],'.'); do{ $name = md5(time()).$_FILES['userfile']['name']; }while(file_exists($uploaddir.'/'.$name)); //6.移动文件 echo $name; if(move_uploaded_file($_FILES['userfile']["tmp_name"],$uploaddir.'/'.$name)){ echo "上传成功。"; }else{ echo "上传失败"; } ?>
本文作者:xiaoovo
本文链接:https://www.cnblogs.com/xiaoovo/p/15968114.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步