请先关注 [低调大师] 公众号 优秀的自媒体个人博客,低调大师,许军

低调大师

您现在的位置是:首页>文章详情

文章详情

文件上传

2019-01-29 27热度

文件上传

目的:用户可以通过浏览器,将本地文件上传到服务器

以单文件上传为例

sinFun.php

<?php /** *文件上传函数 * *@param string $name 文件上传文件域的name值 *@param string $dir 文件上传的指定保存路径 *@param array $allow 文件上传允许的文件类型 * *return string $filename 文件名 失败时,返回false * */ function uploads($name,$dir,$allow=array('image/jpeg','image/png')) { //1. 判断文件上传错误 if($_FILES[$name]['error'] > 0) { //文件上传出错 switch($_FILES[$name]['error']) { case 1: echo '上传的文件大小超过配置文件中的upload_max_filesize值'; break; case 2: echo '上传文件的大小超过表单提交的最大值'; break; case 3: echo '文件只有部分上传'; break; case 4: echo '没有文件被上传'; break; case 6: echo '找不到临时文件夹'; break; case 7: echo '文件写入失败'; break; default : echo '其它错误'; break; } return false; } //2. 判断你上传文件的类型是否是你想要的类型 if(!in_array($_FILES[$name]['type'],$allow)) { echo '文件类型不符合'; return false; } //3. 获取上传文件后缀名 $suffix = pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION); //4. 起名字 $filename = date('Ymd').uniqid().mt_rand(0,9999999).'.'.$suffix; //5. 判断保存的路径是否存在 $save_path = rtrim($dir,'/'); $save_path .= '/'; $save_path .= date('Ymd'); // var_dump($save_path); if(!file_exists($save_path)) { mkdir($save_path,777,true); } //拼接一个完整的保存路径 $path = $save_path.'/'.$filename; // var_dump($path);die; //6 判断是否是HTTP post方式上传 if(!is_uploaded_file($_FILES[$name]['tmp_name'])) { echo '传输方式不对'; return false; } //7 移动图片 if(!move_uploaded_file($_FILES[$name]['tmp_name'], $path)) { echo '移动失败'; return false; } //返回移动成功的文件名 return $filename; } ?>

upload.html

<!DOCTYPE html> <html lang="zh" dir="ltr"> <head> <meta charset="utf-8"> <title>单文件上传</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> 上传头像:<input type="file" name="profile" /> <button>提交</button> </form> <!-- 注意: 1. 表单提交的方式必须是 post 2. form表单中必须添加enctype属性 3. input 中要设置name属性 --> </body> </html> 

upload.php

<?php include("./sinFun.php"); $result = uploads('profile','./upload',array('image/jpeg','image/png')); var_dump($result); ?>
收藏 (0)

相关文章

    文章评论

    共有0条评论来说两句吧...