PHP中upload.php的具體使用方法

這篇文章主要介紹“PHP中upload.php的具體使用方法”,在日常操作中,相信很多人在PHP中upload.php的具體使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP中upload.php的具體使用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

成都創(chuàng)新互聯(lián)是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的十多年時間我們累計服務(wù)了上千家以及全國政企客戶,如成都混凝土泵車等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術(shù)實力獲得客戶的一致夸獎。

我們今天為大家?guī)淼氖顷P(guān)于PHP上傳類upload.php 的具體用法,希望廣大讀者朋友能夠通過本文所介紹的內(nèi)容得到幫助,增加我們的知識點。

具體代碼如下:

<?php  /**   * 我的文件上傳類   *   * 未完成的功能:   * 1.對目標目錄是否存在的判斷   * 2.如果上傳時出現(xiàn)重名,自動重命名   *    * @author M.Q. <[url]www.mengqi.net[/url]>  */  class upload  {      /**       * PHP上傳類upload.php上傳文件的信息,此值由構(gòu)造函數(shù)取得,如果上傳文件失敗或出錯或未上傳,則此值為false       *       * @var array       */      private $file = false;                  /**       * 構(gòu)造函數(shù):取得上傳文件的信息       *        * 如果在上傳文件的工程中發(fā)生錯誤,那么出錯的文件不會放在結(jié)果中返回,結(jié)果中的文件都是可用的       *       * @param string $tag form表單中<input>標簽中name屬性的值,例<input name="p" type="file">      *        * 例1,上傳單個文件:       * <input name="upfile" type="file">      *        * 例2,上傳多個文件:       * <input name="upfile[]" type="file">      * <input name="upfile[]" type="file">      *        * 結(jié)果(保存在$file變量中)如下:       *        * array(       * [0] => array(       *      'name'      => 'abc.txt'       *      'type'      => 'text/plain’       *      'tmp_name'  => '/tmp/phpgxecCb'       *      'error'     => 0       *      'size'      => 62       *      )       * [1] => array(       *      'name'      => 'abc.txt'       *      'type'      => 'text/plain’       *      'tmp_name'  => '/tmp/phpgxecCb'       *      'error'     => 0       *      'size'      => 62       *      )       * )       */      public function __construct($tag)      {          $file = $_FILES[$tag];                           if (!isset($file) || empty($file))           {              return; //沒有上傳文件          }                    $num = count($file['name']); //PHP上傳類upload.php上傳文件的個數(shù)                    $data = array(); //用來保存上傳文件的信息的數(shù)組           //上傳了多個文件          if ($num > 1)          {              for($i = 0; $i < $num; $i++)              {                  $d = array();                  $d['name']       = $file['name'][$i];                  $d['type']       = $file['type'][$i];                  $d['tmp_name']   = $file['tmp_name'][$i];                  $d['error']      = $file['error'][$i];                  $d['size']       = $file['size'][$i];                                    if ($d['error'] == 0)                  {                      $data[] = $d;                  }                  else                   {                      @unlink($d['tmp_name']);                  }              }          }          //只上傳了一個文件          else           {              $d = array();              $d['name']       = $file['name'];              $d['type']       = $file['type'];              $d['tmp_name']   = $file['tmp_name'];              $d['error']      = $file['error'];              $d['size']       = $file['size'];                            if ($d['error'] == 0)              {                  $data[] = $d;              }              else               {                  @unlink($d['tmp_name']);              }          }                    if (empty($data)) return;                    $this -> file = $data; //保存上傳文件的信息      }            /**       * 將上傳的文件從臨時文件夾移動到目標路徑       *       * @param array $src 文件信息數(shù)組,是$file數(shù)組的其中一個元素(仍然是數(shù)組)       * @param string $destpath 上傳的目標路徑       * @param string $filename 上傳后的文件名,如果為空,則使用上傳時的文件名       * @return bool       */      public function save($src, $destpath, $filename = null)      {          $srcTName = $src['tmp_name']; //原始上傳文件的臨時文件名          $srcFName = $src['name'];     //原始文件名                    //如果$filename參數(shù)為空,則使用上傳時的文件名          if (empty($filename))          {              $filename = $srcFName;          }                    //$dest是文件最終要復制到的路徑和文件名          if (empty($destpath))          {              $dest = $filename;          }          else           {              //修正路徑中的斜杠,將末尾的\修改為/,如果末尾不是\也不是/,則給末尾添加一個/              $pathend = $destpath[strlen($destpath) - 1]; //上傳的目標路徑的***一個字符              if ($pathend == '\\')              {                  $dest = substr_replace($destpath, '/', strlen($destpath)-1).$filename;              }              else if ($pathend != '/')              {                  $dest = $destpath.'/'.$filename;              }              else               {                  $dest = $destpath.$filename;              }          }                      //上傳文件成功          if (@move_uploaded_file($srcTName, $dest))          {                            return true;           }          else           {              return false;          }      }            /**       * 取得上傳文件的信息       *       * @return array       */      public function getFileInfo()      {          return $this->file;      }  }    $a = new upload('upfile');   $fileinfo = $a -> getFileInfo();  if ($fileinfo == false)  {      echo '沒有上傳文件!';      exit;  }   for($i = 0; $i < count($fileinfo); $i++)  {      echo '正在上傳 '.$fileinfo[$i]['name'].' ';      if ($a -> save($fileinfo[$i], 'upload')) echo '完畢';      else echo '失敗';      echo '<br>';  }  ?>

到此,關(guān)于“PHP中upload.php的具體使用方法”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

分享標題:PHP中upload.php的具體使用方法
文章鏈接:http://www.muchs.cn/article20/ijsico.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、用戶體驗、網(wǎng)站收錄、搜索引擎優(yōu)化網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)