站长资讯网
最全最丰富的资讯网站

php文件上传代码怎么写

php文件上传代码怎么写

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 '上传失败';     } }

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号