現(xiàn)在已經(jīng)通過http上傳成功了,臨時(shí) 文件夾是uploads,現(xiàn)在怎么樣加入到數(shù)據(jù)庫里呢,然后再通過固定的字段獲取到用戶界面呢(可以主要指導(dǎo)一下圖片和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選項(xiàng)的值";? ? break;? ? ? ?case 2:? ? ? ? echo "超過了表單MAX_FILE_SIZE限制的大小";? ? ? ? break; ? ? ? ?case 3:? ? ? ? ? ?echo "文件部分被上傳";? ? ? ? ? ?break;? ? ? ?case 4:? ? ? ? ? ?echo "沒有選擇上傳文件";? ? ? ? ? ?break;? ? ? ?case 6:? ? ? ? ? ?echo "沒有找到臨時(shí)目錄";? ? ? ? ? ?break;? ? ? ?case 7:? ? ? ?case 8:? ? ? ? ? ?echo "系統(tǒng)錯(cuò)誤";? ? ? ? ? ?break;? ? ? ? }? ? }?>
1 回答

書生
TA貢獻(xiàn)12條經(jīng)驗(yàn) 獲得超4個(gè)贊
針對(duì)上傳的文件,不建議以二進(jìn)制的方式存儲(chǔ)在數(shù)據(jù)庫中,更推薦的方法是以文件的形式存儲(chǔ)在分布式文件系統(tǒng)中,這樣可以充分利用文件的自身完整性校驗(yàn)、斷點(diǎn)續(xù)傳、以及CDN加速。然后在數(shù)據(jù)庫中存儲(chǔ)文件的路徑。
如果是單臺(tái)服務(wù)器,存儲(chǔ)于本地環(huán)境也是可以的。但是存在被誤刪的風(fēng)險(xiǎn)。
- 1 回答
- 0 關(guān)注
- 1211 瀏覽
添加回答
舉報(bào)
0/150
提交
取消