🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
本节用到的文件操作函数: 1、is_uploaded_file() 函数判断指定的文件是否是通过 HTTP POST 上传的。 2、move_uploaded_file() 函数将上传的文件移动到新位置。 代码如下: html部分: <form action="test.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> <input type="file" name="file" value="" /> <input type="submit" value="上传文件" /> </form> php部分: if(!empty($_FILES['file']['name'])){ //判断文件是否上传成功 if($_FILES['file']['error']>0){ switch($_FILES['file']['error']){ case 1: $promptMsg = '文件大小超过php.ini限制'; break; case 2: $promptMsg = '文件大小超过前台表单设定的大小'; break; case 3: $promptMsg = '只上传了文件的一部分'; break; case 4: $promptMsg = '没有上传任何文件'; break; } echo ' <div style="width:500px;height:100px;border:1px solid #f00;color:#f00"> <div style="width:500px;height:50px;border-bottom:3px solid #000;color:#000;font-weight:bold"> 友情提示: </div> '.$promptMsg.' </div> '; exit(); }else{ //判断上传文件的类型 $upFileType = array('.jpg','.png','.gif','.bmp'); $fileType = strtolower(strrchr($_FILES['file']['name'],'.')); if(!in_array($fileType,$upFileType)){ echo '<script type="text/javascript"> alert("仅限上传图片文件");history.go(-1); </script>'; exit(); } //将上传文件移动到服务器指定文件夹内 $dirName = 'upload/'.date('ymd'); if(!is_dir($dirName)){ mkdir($dirName,0777,1); } if(is_uploaded_file($_FILES['file']['tmp_name'])){ //为防止重名,给上传的文件添加时间戳和10-300之间的随机数 $toFileName = $dirName.'/'.time().'_'.mt_rand(10,300).$_FILES['file']['name']; if(move_uploaded_file($_FILES['file']['tmp_name'],$toFileName)){ echo '<script type="text/javascript"> alert("文件上传并移动成功"); history.go(-1); </script>'; }else{ echo '<script type="text/javascript"> alert("错误!文件移动失败"); history.go(-1); </script>'; } }else{ echo '<script type="text/javascript"> alert("不是上传文件"); history.go(-1); </script>'; } } }else{ echo '<script type="text/javascript"> alert("请选择上传文件"); history.go(-1); </script>'; } 下一节是实现多文件上传的方法!