现在已经通过http上传成功了,临时 文件夹是uploads,现在怎么样加入到数据库里呢,然后再通过固定的字段获取到用户界面呢(可以主要指导一下图片和MP3吗) <?php header('content-type:text/html;charset=utf-8'); $fileInfo=$_FILES['myFile']; $filename=$fileInfo['name']; $type=$fileInfo['type']; $tmp_name=$fileInfo['tmp_name']; $size=$fileInfo['size']; $error=$fileInfo['error']; $maxSize=99999999; $allowExt=array('jpg','jpeg','mp3'); if ($error==UPLOAD_ERR_OK) { if ($fileInfo['size']>$maxSize) { exit('文件过大'); } $ext=pathinfo($fileInfo['name'],PATHINFO_EXTENSION); if(!in_array($ext, $allowExt)){ exit('非法文件类型'); } if (!is_uploaded_file($fileInfo['tmp_name'])) { exit('文件不是通过HTTP POST方式上传来的'); } $path='uploads'; //防止重名覆盖 $uniName=md5(uniqid(microtime(true),true)).'.'.$ext; //echo $uniName;exit; $destination=$path.'/'.$uniName; if (move_uploaded_file($fileInfo['tmp_name'],$destination)) { echo '文件上传成功'; }else{ echo '文件上传失败 '; } }else{ switch ($error) { case 1: echo "上传文件超过了php配置文件中upload_max_filesize选项的值"; break; case 2: echo "超过了表单MAX_FILE_SIZE限制的大小"; break; case 3: echo "文件部分被上传"; break; case 4: echo "没有选择上传文件"; break; case 6: echo "没有找到临时目录"; break; case 7: case 8: echo "系统错误"; break; } }?>
1 回答
书生
TA贡献12条经验 获得超4个赞
针对上传的文件,不建议以二进制的方式存储在数据库中,更推荐的方法是以文件的形式存储在分布式文件系统中,这样可以充分利用文件的自身完整性校验、断点续传、以及CDN加速。然后在数据库中存储文件的路径。
如果是单台服务器,存储于本地环境也是可以的。但是存在被误删的风险。
- 1 回答
- 0 关注
- 1172 浏览
添加回答
举报
0/150
提交
取消