php封装单文件上传到数据库(路径)
来源:互联网 发布:苏联的秘密武器知乎 编辑:程序博客网 时间:2024/05/22 09:44
1.首先思考一个问题上传到数据库是上传的图片还是图片地址
这里我们上传的是图片地址,因为图片或音频存数据库中过大,数据库会崩掉。
下面是封装的文件上传的方法:
<?php/**@prame string key*@prame string path*@prame String maxSize*@prame array allowMime*@prame array allowFiletype*@prame bool true**auther wulei*/function upload($key,$path,$maxSize,$allowMime,$allowType,$ifFileName = true){ //第一步 判断错误码 if($_FILES[$key]['error']){ switch($_FILES[$key]['error']){ case 1: $str = "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。"; break; case 2: $str = "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。"; break; case 3: $str = "文件只有部分被上传。"; break; case 4: $str = "没有文件被上传。"; break; case 6: $str = "找不到临时文件夹。"; break; case 7: $str = "文件写入失败"; break; } return [0,$str]; } //判断文件大小 if($_FILES[$key]['size']>$maxSize){ return [0,'传的文件超过最大限制']; } //判断文件的mime类型 if(!in_array($_FILES[$key]['type'],$allowMime)){ return [0,'不符合的mime类型']; } //判断文件的后缀 $info = pathinfo($_FILES[$key]['name']); $sub = $info['extension']; if(!in_array($sub,$allowType)){ return [0,'不符合的文件后缀']; } //判断是否是随机文件 if($ifFileName){ $name = uniqid().'.'.$sub; }else{ $name = $info; } //拼接路径 $path = rtrim($path,'/').'/'.date('Y/m/d').'/'; //判断文件是否存在,不存在则创建 if(!file_exists($path)){ mkdir($path,0777,true); } //判断是否是上传文件 if(is_uploaded_file($_FILES[$key]['tmp_name'])){ if(move_uploaded_file($_FILES[$key]['tmp_name'],$path.$name)){ echo '文件上传成功'; return [1,$path.$name]; }else{ return[0,'上传文件失败']; } }else{ return [0,'文件不存在']; } }
2.html 页面
<html><head> <title>文件上传</title> <meta charset = "utf-8"/></head><body> <form action = "onUpload.php" method = "post" enctype ="multipart/form-data"> <!--<input type = "text" name = "username"/><br/>--> <input type = "file" name = "file"/><br/> <input type = "submit" value ="提交"/> </form></body>
3、下面我们链接数据库
这里我们直接使用了,看不懂的可以去看前面的封装的数据库方法那一篇文章
<?php //包含方法 include 'uploed.php'; include 'common.php'; //得到方法 $data = upload('file','image',pow(1024,2)*2,[ 'image/png','image/jpeg','image/gif','image/wbmp' ],['png','jpg','jpeg','jpe','pjpeg','gif','wbmp','bmp']); //这里进行数据库操作 if($data[0]){ $date['img_path'] = $data[1]; } insert($link,'user',$date);
阅读全文
0 0
- php封装单文件上传到数据库(路径)
- php文件上传并将其路径保存到数据库
- PHP单文件上传(含封装函数)
- PHP单文件上传原理及上传函数的封装
- php实现文件上传到指定文件夹,文件路径或名字存入数据库,如何实现啊
- php实现文件上传到指定文件夹,文件路径或名字存入数据库,如何实现啊
- PHP单文件上传的过程化函数封装
- PHP实现单文件上传、多个单文件上传、多文件上传的过程化封装
- PHP上传文件封装
- php上传图片到指定位置路径保存到数据库
- php 单文件上传
- php--单文件上传
- PHP单文件上传
- php单文件上传
- PHP文件上传路径
- android 文件上传到服务器(封装)
- PHP封装成类(文件上传)
- Asp.Net上传文件,保存文件路径到数据库
- Faster RCNN详解
- 【宏观】两期动态模型
- leetcode 628. Maximum Product of Three Numbers(C语言,堆排序,计算最大乘积)33
- Hibernate对象关联映射
- Leetcode代码学习周记——Container With Most Water
- php封装单文件上传到数据库(路径)
- <学习笔记?>考试与做题的注意事项总结。
- zookeeper 安装
- Linux的find、grep命令
- android的IPC机制
- 最小生成树 Prim、Kruscal算法 (以HDU 1863为例)
- 站外跳转到谷歌地图
- webwork+spring+hibernate的整合
- java中怎么将本地图片上传到服务器上