php文件上传代码怎么写
php  /  管理员 发布于 7年前   143
php文件上传代码怎么写
在初学php的时候,我们无法理解php文件上传的代码,以及上传的逻辑,以下代码从初学者的角度编写,希望对大家有帮助!
需要用到的知识:
超级全局数组:$_FILES
$_FILES['myfile']['name']的值是:客户端文件系统的文件名称
$_FILES['myfile']['type']的值是:客户端传递的文件类型
$_FILES['myfile']['size']的值是:文件的字节大小
$_FILES['myflie']['tmp_name ']的值是:文件被上传后在服务器存储的临时全路径
$_FILES['myfile']['error']的值是:文件上传的错误代码
存储在$_FILES['myfile']['error']中的值
值为0: 表示没有发生任何错误
值为1: 表示上传文件的大小超出了约定值。文件大小的最大值在PHP配置文件中指定的,指令是:upload_max_filesize
值为2: 表示上传文件大小超过了HTML表单隐藏域属性的MAX_FILE_SIZE元素所指定的最大值
值为3: 表示文件只被部分上传
值为4:表示没有上传任何文件
值为6: 表示找不到临时文件夹
值为7: 表示文件写入失败
错误值对应常量
UPLOAD_ERR_OK : 对应值0
UPLOAD_ERR_INI_SIZE : 对应值1
UPLOAD_ERR_FORM_SIZE : 对应值2
UPLOAD_ERR_PARTIAL : 对应值3
UPLOAD_ERR_NO_FILE : 对应值4
UPLOAD_ERR_NO_TMP_DIR : 对应值6
UPLOAD_ERR_CANT_WRITE : 对应值7
upload.html 代码如下
<!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="file" name="pic"/> <!--通过表单限制上传文件的大小 一定要在上传按钮前 大小以字节为主--> <input type="hidden" name="MAX_FILE_SIZE" value="8388608"/> <input type="submit" name="sub" value="上传" /> </form></body></html>
upload.php 代码如下
<?php//var_dump($_FILES);//exit;//判断是否是文件上传$file = $_FILES;//第一个pic 是input 中的name值if(is_uploaded_file($file['pic']['tmp_name'])){ //声明允许上传的文件类型 $allowType = ['image/png','image/jpeg','image/gif','image/jpg']; //正在上传的文件的类型 $type = $file['pic']['type'];// echo $type; //判断类型是否是允许的类型 if(!in_array($type,$allowType))//检查数组中是否存在某个值,返回布尔型 { exit('上传类型有误'); } //判断文件上传的大小 if($file['pic']['size'] > 1024 * 1024 * 8) //以字节为主 1024*1024是1M { exit('上传的文件太大'); } //设置新文件名 $filename = date('YmdHis',strtotime('now')).rand(1000,9999); //获取上传文件的后缀名 $name = $file['pic']['name']; //得到文件名字符串 $filestr = explode('.',$name); $ext = array_pop($filestr); //拼接新文件名 $newfilename = $filename.'.'.$ext; //拼接上传文件的路径 $path = './uploads/'; //绝对路径 $abspath = $path.$newfilename; if(move_uploaded_file($file['pic']['tmp_name'],$abspath)) { echo '上传成功'; }else{ echo '上传失败'; }}
更多PHP相关知识,请访问!
以上就是php文件上传代码怎么写的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号