国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php封裝單文件上傳到數據庫(路徑)

2024-09-04 11:45:14
字體:
來源:轉載
供稿:網友

1.首先思考一個問題上傳到數據庫是上傳的圖片還是圖片地址這里我們上傳的是圖片地址,因為圖片或音頻存數據庫中過大,數據庫會崩掉。

下面是封裝的文件上傳的方法:

  1. <?php 
  2. /* 
  3. *@prame string key 
  4. *@prame string path 
  5. *@prame String maxSize 
  6. *@prame array allowMime 
  7. *@prame array allowFiletype 
  8. *@prame bool true 
  9. * 
  10. *auther wulei 
  11. */ 
  12. function upload($key,$path,$maxSize,$allowMime,$allowType,$ifFileName = true){ 
  13.   //第一步 判斷錯誤碼 
  14.   if($_FILES[$key]['error']){ 
  15.     switch($_FILES[$key]['error']){ 
  16.       case 1: 
  17.         $str = "上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。"
  18.         break
  19.       case 2: 
  20.         $str = "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。"
  21.         break
  22.       case 3: 
  23.         $str = "文件只有部分被上傳。"
  24.         break
  25.       case 4: 
  26.         $str = "沒有文件被上傳。"
  27.         break
  28.       case 6: 
  29.         $str = "找不到臨時文件夾。"
  30.         break
  31.       case 7: 
  32.         $str = "文件寫入失敗"
  33.         break
  34.     } 
  35.     return [0,$str]; 
  36.   } 
  37.   //判斷文件大小 
  38.   if($_FILES[$key]['size']>$maxSize){ 
  39.     return [0,'傳的文件超過最大限制']; 
  40.   } 
  41.   //判斷文件的mime類型 
  42.   if(!in_array($_FILES[$key]['type'],$allowMime)){ 
  43.     return [0,'不符合的mime類型']; 
  44.   } 
  45.   //判斷文件的后綴 
  46.   $info = pathinfo($_FILES[$key]['name']); 
  47.   $sub = $info['extension']; 
  48.   if(!in_array($sub,$allowType)){ 
  49.     return [0,'不符合的文件后綴']; 
  50.   } 
  51.   //判斷是否是隨機文件 
  52.   if($ifFileName){ 
  53.     $name = uniqid().'.'.$sub
  54.   }else
  55.     $name = $info
  56.   } 
  57.   //拼接路徑 
  58.   $path = rtrim($path,'/').'/'.date('Y/m/d').'/'
  59.   //判斷文件是否存在,不存在則創建 
  60.   if(!file_exists($path)){ 
  61.     mkdir($path,0777,true); 
  62.   } 
  63.   //判斷是否是上傳文件 
  64.   if(is_uploaded_file($_FILES[$key]['tmp_name'])){ 
  65.     if(move_uploaded_file($_FILES[$key]['tmp_name'],$path.$name)){ 
  66.       echo '文件上傳成功'
  67.       return [1,$path.$name]; 
  68.     }else
  69.       return[0,'上傳文件失敗']; 
  70.     } //Vevb.com 
  71.   }else
  72.     return [0,'文件不存在']; 
  73.   } 
  74.   } 

2.html 頁面

  1. <html> 
  2. <head> 
  3.   <title>文件上傳</title> 
  4.   <meta charset = "utf-8"/> 
  5. </head> 
  6. <body> 
  7.   <form action = "onUpload.php" method = "post" enctype ="multipart/form-data"
  8.     <!--<input type = "text" name = "username"/><br/>--> 
  9.     <input type = "file" name = "file"/><br/> 
  10.     <input type = "submit" value ="提交"/> 
  11.   </form> 
  12. </body> 

3、下面我們鏈接數據庫

這里我們直接使用了,看不懂的可以去看前面的封裝的數據庫方法那一篇文章.

  1. <?php 
  2.   //包含方法 
  3.   include 'uploed.php'
  4.   include 'common.php'
  5.   //得到方法 
  6.   $data = upload('file','image',pow(1024,2)*2,[ 
  7.         'image/png','image/jpeg','image/gif','image/wbmp' 
  8.       ],['png','jpg','jpeg','jpe','pjpeg','gif','wbmp','bmp']); 
  9.   //這里進行數據庫操作 
  10.   if($data[0]){ 
  11.     $date['img_path'] = $data[1]; 
  12.   } 
  13.   insert($link,'user',$date); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蕲春县| 苗栗县| 新泰市| 峨山| 邵阳县| 驻马店市| 博兴县| 永泰县| 马山县| 海城市| 凤山县| 绥江县| 浦江县| 翁牛特旗| 高碑店市| 海宁市| 图片| 岑巩县| 新乡县| 海宁市| 新宁县| 哈巴河县| 密山市| 儋州市| 越西县| 汪清县| 丹江口市| 宽城| 霍州市| 卫辉市| 靖安县| 永胜县| 兴化市| 宁城县| 德州市| 响水县| 饶河县| 澄迈县| 图木舒克市| 武宁县| 万宁市|