Home > Article > Backend Development > 请问PHP上传文件的接收代码有关问题
请教PHP上传文件的接收代码问题
小弟初学PHP,想要了解POST上传文件至服务端与服务端接收并保存文件的流程,从网上找了两段代码,但一直调不通,找不到问题所在,向版上大虾求教,代码如下:
1. 上传代码
<br /><form enctype="multipart/form-data" action="upload.php" method="post"><br /><label for="file">请选择上传的文件</label><br /><input type="file" name="file" size="40" /><br /><br /><br /><input type="submit" name="submit" value="确定" /><br /></form><br />
<br /><?php<br />//文件存储路径<br />$file_path="upload/";<br />//664权限为文件属主和属组用户可读和写,其他用户只读。<br />if(is_dir($file_path)!=TRUE) mkdir($file_path,0664) ;<br />//定义允许上传的文件扩展名<br />$ext_arr = array("gif", "jpg", "jpeg", "png", "bmp", "txt", "zip", "rar");<br /><br />if (empty($_FILES) === false) {<br /> //判断检查<br /> if($photo_up_size > 2097152){<br /> exit("对不起,您上传的照片超过了2M。");<br /> }<br /> if($_FILES["file"]["error"] > 0){<br /> exit("文件上传发生错误:".$_FILES["file"]["error"]);<br /> }<br /><br /> //获得文件扩展名<br /> $temp_arr = explode(".", $_FILES["file"]["name"]);<br /> $file_ext = array_pop($temp_arr);<br /> $file_ext = trim($file_ext);<br /> $file_ext = strtolower($file_ext);<br /> //检查扩展名<br /> if (in_array($file_ext, $ext_arr) === false) {<br /> exit("上传文件扩展名是不允许的扩展名。");<br /> }<br /> //以时间戳重命名文件<br /> $new_name = time().".".$file_ext;<br /> //将文件移动到存储目录下<br /> move_uploaded_file($_FILES["file"]["tmp_name"],"$file_path" . $new_name);<br /> //向数据表写入文件存储信息以便管理<br /> //*********** 代码略 ***********//<br /> echo "文件上传成功!";<br /> exit;<br />} else {<br /> echo "无正确的文件上传";<br />}<br />?><br />