中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-08-11 21:25:18 來源:億速云 閱讀:173 作者:chen 欄目:編程語言

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

我們今天為大家帶來的是關于PHP上傳類upload.php 的具體用法,希望廣大讀者朋友能夠通過本文所介紹的內容得到幫助,增加我們的知識點。

具體代碼如下:

<?php  /**   * 我的文件上傳類   *   * 未完成的功能:   * 1.對目標目錄是否存在的判斷   * 2.如果上傳時出現重名,自動重命名   *    * @author M.Q. <[url]www.mengqi.net[/url]>  */  class upload  {      /**       * PHP上傳類upload.php上傳文件的信息,此值由構造函數取得,如果上傳文件失敗或出錯或未上傳,則此值為false       *       * @var array       */      private $file = false;                  /**       * 構造函數:取得上傳文件的信息       *        * 如果在上傳文件的工程中發生錯誤,那么出錯的文件不會放在結果中返回,結果中的文件都是可用的       *       * @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">      *        * 結果(保存在$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上傳文件的個數                    $data = array(); //用來保存上傳文件的信息的數組           //上傳了多個文件          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 文件信息數組,是$file數組的其中一個元素(仍然是數組)       * @param string $destpath 上傳的目標路徑       * @param string $filename 上傳后的文件名,如果為空,則使用上傳時的文件名       * @return bool       */      public function save($src, $destpath, $filename = null)      {          $srcTName = $src['tmp_name']; //原始上傳文件的臨時文件名          $srcFName = $src['name'];     //原始文件名                    //如果$filename參數為空,則使用上傳時的文件名          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>';  }  ?>

到此,關于“PHP中upload.php的具體使用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

金坛市| 乌拉特前旗| 桐柏县| 阿拉善左旗| 拉孜县| 新泰市| 宁化县| 柏乡县| 舟曲县| 通州市| 灵川县| 包头市| 临海市| 瑞丽市| 万全县| 永新县| 攀枝花市| 镶黄旗| 建瓯市| 平武县| 武功县| 府谷县| 彝良县| 广宁县| 左贡县| 牟定县| 同心县| 元阳县| 武冈市| 广饶县| 无极县| 万源市| 柘荣县| 平山县| 织金县| 东至县| 达孜县| 赤壁市| 乐都县| 姜堰市| 江川县|