最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年10月15日 15:54:14   作者:jacklove617  
這篇文章主要介紹了php封裝單文件上傳到數(shù)據(jù)庫(路徑) 的相關(guān)資料,需要的朋友可以參考下

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

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

<?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').'/';
  //判斷文件是否存在,不存在則創(chuàng)建
  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、下面我們鏈接數(shù)據(jù)庫

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

<?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']);
  //這里進行數(shù)據(jù)庫操作
  if($data[0]){
    $date['img_path'] = $data[1];
  }
  insert($link,'user',$date);

總結(jié)

以上所述是小編給大家介紹的php封裝單文件上傳到數(shù)據(jù)庫(路徑),希望對大家有所幫助!

相關(guān)文章

  • 利用PHP將圖片轉(zhuǎn)換成base64編碼的實現(xiàn)方法

    利用PHP將圖片轉(zhuǎn)換成base64編碼的實現(xiàn)方法

    相信大家都知道Base64是網(wǎng)絡(luò)上最常見的用于傳輸8Bit字節(jié)代碼的編碼方式之一,如果對此不清楚的可以查看RFC2045~RFC2049,上面有MIME的詳細規(guī)范。這篇文章我們分享一個PHP將圖片轉(zhuǎn)換為base64編碼格式的方法,有需要的朋友們可以參考借鑒。
    2016-09-09
  • 詳解no input file specified 三種解決方法

    詳解no input file specified 三種解決方法

    這篇文章主要介紹了詳解no input file specified 三種解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Laravel 前端資源配置教程

    Laravel 前端資源配置教程

    今天小編就為大家分享一篇Laravel 前端資源配置教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • PHP兩個n位的二進制整數(shù)相加問題的解決

    PHP兩個n位的二進制整數(shù)相加問題的解決

    這篇文章主要為大家詳細介紹了PHP兩個n位的二進制整數(shù)相加問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(三)

    PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(三)

    這篇文章主要介紹了PHP網(wǎng)頁游戲Xnova(ogame)源碼解讀的用戶注冊頁面,需要的朋友可以參考下
    2014-06-06
  • php三維數(shù)組去重(示例代碼)

    php三維數(shù)組去重(示例代碼)

    這篇文章主要是對php三維數(shù)組去重的示例代碼進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • CodeIgniter記錄錯誤日志的方法全面總結(jié)

    CodeIgniter記錄錯誤日志的方法全面總結(jié)

    這篇文章主要介紹了CodeIgniter記錄錯誤日志的方法,詳細分析了CodeIgniter框架的文件結(jié)構(gòu)與相應(yīng)的功能,結(jié)合實例分析了CodeIgniter框架記錄錯誤日志的實現(xiàn)技巧,并分析了隱藏index文件與數(shù)據(jù)傳輸?shù)燃记?總結(jié)非常全面,需要的朋友可以參考下
    2016-05-05
  • PHP調(diào)用C#開發(fā)的dll類庫方法

    PHP調(diào)用C#開發(fā)的dll類庫方法

    這篇文章主要介紹了PHP調(diào)用C#開發(fā)的dll類庫方法,包含一個完整的詳細的DLL制作步驟和PHP調(diào)用方法,需要的朋友可以參考下
    2014-07-07
  • Laravel框架環(huán)境與配置操作實例分析

    Laravel框架環(huán)境與配置操作實例分析

    這篇文章主要介紹了Laravel框架環(huán)境與配置操作,結(jié)合實例形式分析了laravel框架基本環(huán)境配置方法及維護模式相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • 淺析iis7.5安裝配置php環(huán)境

    淺析iis7.5安裝配置php環(huán)境

    windows server 2008 和 windows server 2003 是目前國內(nèi)比較主流的服務(wù)器操作系統(tǒng),其搭建php的環(huán)境也是多種多樣,其中IIS+Fastcgi+php+mysql安裝是最簡單的。
    2015-05-05

最新評論

南昌市| 冀州市| 桐柏县| 宜丰县| 华亭县| 菏泽市| 亚东县| 沁源县| 双桥区| 梁河县| 通化县| 麦盖提县| 凤阳县| 阿拉善左旗| 滦南县| 大丰市| 承德县| 灵石县| 平定县| 肥东县| 南汇区| 临澧县| 焉耆| 东阿县| 岳阳县| 房产| 湟中县| 黄陵县| 东海县| 邛崃市| 新安县| 齐齐哈尔市| 绥芬河市| 岳西县| 绥中县| 玉龙| 攀枝花市| 汕尾市| 土默特右旗| 福安市| 惠来县|