当前位置:Gxlcms > PHP教程 > php怎么限制文件后缀上传

php怎么限制文件后缀上传

时间:2021-07-01 10:21:17 帮助过:31人阅读


PHP图片文件上传类型限制扩展名限制大小限制与自动检测目录创建。

代码分为两部分:

一部分form表单:(推荐学习:PHP视频教程)

  1. <!doctype html><br><html><br><head><br><title>文件上传案例-file upload example</title><br><meta http-equiv="content-type" contnet="text/html" charset="utf-8"/><br></head><br><body><br><h1>文件上传支持图片.gif.png.jpg.jpeg限制200kb大小的文件</h1><br><form method="POST" action="upload_file.php" enctype="multipart/form-data"><br><lable for="file">File:</lable><br><input name="file" type="file" id="file"/><br/><br><input type="submit" value="上传文件"/><br></form><br></body><br></html><br>

二部分PHP后台上传验证程序:

  1. <meta charset="utf-8"/><br><?php<br>$array=array("gif","png","jpg","jpeg");//赋值一个数组<br>$tmp=explode(".",$_FILES['file']['name']);//用explode()函数把字符串打散成为数组。<br>$extension=end($tmp);//用end获取数组最后一个元素<br>if($_FILES['file']['error']>0){//判断提交上的文件是否为空或错误<br> echo "文件未选择,或非法文件!错误:".$_FILES['file']['error'];<br>}else{<br> if((($_FILES['file']['type']=="image/gif")//判断提交上的文件的文件类型是否正确和文件扩展名是否正确,文件大小是否超2048kb。<br> ||($_FILES['file']['type']=="image/png")<br> ||($_FILES['file']['type']=="image/jpeg")<br> ||($_FILES['file']['type']=="image/jpg")<br> ||($_FILES['file']['type']=="image/pjpeg")<br> ||($_FILES['file']['type']=="image/x-png"))<br> &&($_FILES['file']['size']<204800)<br> &&in_array($extension,$array)){<br> echo "文件大小和文件扩展名验成功!<br/>";<br> if(file_exists("upload/")){//用file_exists函数检测是否有upload目录,用if判断。<br> if(file_exists("upload/".$_FILES['file']['name'])){//用file_exists函数检测是否在upload目录下有['name']文件。用if判断。<br> echo "已存在该文件名!位置:upload/".$_FILES['file']['name'];<br> }else{//显示各个信息,然后用move_upload_file函数把临时目录文件移动到upload目录。<br> echo "上传完成,下面是信息:<br/>";<br> echo "上传文件名:".$_FILES['file']['name']."<br/>";<br> echo "上传类型:".$_FILES['file']['type']."<br/>";<br> echo "上传文件大小:".$_FILES['file']['size']."<br/>";<br> echo "上传文件临时缓存位置:".$_FILES['file']['tmp_name']."<br/>";<br> move_uploaded_file($_FILES['file']['tmp_name'],"upload/".$_FILES['file']['name']);//这里我们用到两个参数,一是被移到的文件,二是移动到的目标位置。<br> echo "储存服务器相对的位置为:/upload/".$_FILES['file']['name'];<br> }<br> }else{//没有目录的情况下,使用mkdir函数创建upload目录。<br> echo "不存在upload目录,已自动创建upload/目录";<br> mkdir("upload");<br> }<br> }else{<br> echo "扩展名和文件大小不正确,扩展名支持gif,jpg,png,jpeg,文件大小支持200kb";<br> }<br> //echo "文件临时储存的位置:".$_FILES['file']['tmp_name'];//把文件获取到临时储存的位置里面,并打印出来;<br> //move_uploaded_file($_FILES['file']['tmp_name'],"upload/".$_FILES['file']['name']);//把临时储存的文件移到upload目录下。<br>}<br>?><br>

后台PHP程序经过四次if判断进行四次判断上传的文件:

第一次if判断上传的文件是否空提交或者是否有错误。

第二次if判断上传的文件类型是否正确,扩展名是否匹配,大小是否合理。

第三次if判断上传的文件,所属的目录是否存在,假设不存在,系统会自动用mkdir函数创建一个upload目录;

第四次if判断上传的文件是否已存在,假设存在会进行提示并停止上传。相反如果不存在会进行上传操作;

以上就是php怎么限制文件后缀上传的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行