首頁 php教程 PHP源码 适用于初学者的简易PHP文件上传类_php技巧

适用于初学者的简易PHP文件上传类_php技巧

May 25, 2016 pm 05:04 PM
php檔案上傳

这篇文章主要为大家分享了一个适用于初学者的简易PHP文件上传类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例讲述了PHP多文件上传类,分享给大家供大家参考。具体如下:

<?php
class Test_Upload{
 
  protected $_uploaded = array();
  protected $_destination;  
  protected $_max = 1024000;
  protected $_messages = array();
  protected $_permited = array(
                &#39;image/gif&#39;,
                &#39;image/jpeg&#39;,
                &#39;image/pjpeg&#39;,
                &#39;image/png&#39;  
  );
  protected $_renamed = false;
   
  /**
   * 
   * @param mix $path
   * 
   */
  public function __construct($path){
     
    if (!is_dir($path) || !is_writable($path)){
      throw new Exception("文件名不可写,或者不是目录!");
    }
    $this->_destination = $path;
    $this->_uploaded = $_FILES;
  }
  /**
   * 移动文件
   * 
   */
  public function move(){
     
    $filed = current($this->_uploaded); 
       
    $isOk = $this->checkError($filed[&#39;name&#39;], $filed[&#39;error&#39;]);
    //debug ok
    if ($isOk){
      $sizeOk = $this->checkSize($filed[&#39;name&#39;], $filed[&#39;size&#39;]);
      $typeOk = $this->checkType($filed[&#39;name&#39;], $filed[&#39;type&#39;]);
      if ($sizeOk && $typeOk){
         
        $success = move_uploaded_file($filed[&#39;tmp_name&#39;], $this->_destination.$filed[&#39;name&#39;]);
         
        if ($success){
          $this->_messages[] = $filed[&#39;name&#39;]."文件上传成功";
        }else {
          $this->_messages[] = $filed[&#39;name&#39;]."文件上传失败";
        }
      }
       
    }
  }
  /**
   * 查询messages数组内容 
   *
   */
  public function getMessages(){
    return $this->_messages;
  }
   
  /**
   * 检测上传的文件大小
   * @param mix $string
   * @param int $size
   */
  public function checkSize($filename, $size){
     
    if ($size == 0){
      return false;
    }else if ($size > $this->_max){
      $this->_messages[] = "文件超出上传限制大小".$this->getMaxsize();
      return false;
    }else { 
      return true;
    }
  }
   
  /**
   * 检测上传文件的类型
   * @param mix $filename
   * @param mix $type
   */
  protected function checkType($filename, $type){
    if (!in_array($type, $this->_permited)){
      $this->_messages[] = "该文件类型是不被允许的上传类型";
      return false;
    }else {
      return true;
    }
  }
   
  /**
   * 获取文件大小
   * 
   */
  public function getMaxsize(){
    return number_format($this->_max / 1024, 1).&#39;KB&#39;;
  }
   
  /**
   * 检测上传错误
   * @param mix $filename
   * @param int $error
   * 
   */
  public function checkError($filename, $error){
    switch ($error){
      case 0 : return true;
      case 1 :
      case 2 : $this->_messages[] = "文件过大!"; return true;
      case 3 : $this->_messages[] = "错误上传文件!";return false;
      case 4 : $this->_messages[] = "没有选择文件!"; return false;
      default : $this->_messages[] = "系统错误!"; return false;
    }
  }
}
?>
登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
PHP檔案上傳教學:如何使用HTML表單上傳文件 PHP檔案上傳教學:如何使用HTML表單上傳文件 Jun 11, 2023 am 08:10 AM

PHP檔案上傳教學:如何使用HTML表單上傳檔案在進行網站開發過程中,檔案上傳功能是非常常見的需求。而PHP作為一種流行的伺服器腳本語言,可以很好地實現文件上傳功能。本文將詳細介紹如何使用HTML表單完成檔案上傳。一、HTML表單首先,我們需要使用HTML表單建立一個檔案上傳的頁面。 HTML表單中需要設定enctype屬性為「multipart/form-

在PHP如何處理文件上傳? 在PHP如何處理文件上傳? May 11, 2023 pm 10:31 PM

隨著網路技術的不斷發展,文件上傳功能已成為許多網站不可或缺的一部分。在PHP語言中,我們可以透過一些類別庫和函數來處理文件上傳。本文將重點放在PHP中的文件上傳處理方法。一、表單設定在HTML表單中,我們需要設定enctype屬性為“multipart/form-data”,以支援檔案上傳。程式碼如下:&lt;formaction="upload.

PHP檔案上傳安全指南:如何使用$_FILES數組取得上傳檔案信息 PHP檔案上傳安全指南:如何使用$_FILES數組取得上傳檔案信息 Jul 30, 2023 pm 06:53 PM

PHP檔案上傳安全指南:如何使用$_FILES陣列取得上傳檔案資訊摘要:檔案上傳是Web開發中常見的功能之一。然而,不正確的文件上傳實作可能會導致安全漏洞,為應用程式帶來潛在的風險。本文將介紹如何使用PHP的$_FILES數組來安全地獲取上傳文件的信息,並結合一些程式碼範例來幫助讀者更好地理解。設定適當的檔案上傳限制在PHP中,我們可以使用php.ini檔案來

如何透過PHP編寫一個簡單的檔案上傳和下載功能 如何透過PHP編寫一個簡單的檔案上傳和下載功能 Sep 24, 2023 am 08:12 AM

如何透過PHP編寫一個簡單的檔案上傳和下載功能隨著網路科技的發展,檔案上傳和下載功能成為了許多網站必備的功能之一。透過編寫一個簡單的文件上傳和下載功能,可以讓使用者方便地上傳和下載文件,提高使用者體驗。本文將介紹如何使用PHP編寫一個簡單的檔案上傳和下載功能,並提供具體的程式碼範例。一、文件上傳功能的實作建立表單首先,在HTML頁面建立表單,用於使用者上傳文

處理PHP檔案上傳編碼錯誤並產生對應報錯提示的技巧 處理PHP檔案上傳編碼錯誤並產生對應報錯提示的技巧 Aug 06, 2023 am 09:51 AM

處理PHP檔案上傳編碼錯誤並產生對應報錯提示的技巧在開發Web應用程式中,檔案上傳是一個非常常見的需求。而在處理PHP檔案上傳時,我們常常會遇到編碼錯誤的情況。本文將介紹一些處理PHP檔案上傳編碼錯誤並產生對應報錯提示的技巧。在PHP中,檔案上傳是透過$_FILES全域變數來存取上傳的檔案的。透過$_FILES可以取得上傳檔案的名稱、大小、臨時檔案路徑等信息

PHP檔案上傳方法及常見問題總結 PHP檔案上傳方法及常見問題總結 Jun 08, 2023 pm 09:27 PM

PHP檔案上傳方法及常見問題彙總檔案上傳是Web開發常見的功能之一,可用於使用者上傳個人資料、檔案等。 PHP提供方便的文件上傳處理方法,本文將詳細介紹PHP文件上傳方法及常見問題摘要。一、PHP檔案上傳方法HTML表單實作檔案上傳需要使用HTML表單,其中需要設定enctype屬性為"multipart/form-data",這樣瀏覽器

如何使用PHP開發CMS中的檔案上傳與下載模組 如何使用PHP開發CMS中的檔案上傳與下載模組 Jun 21, 2023 pm 12:13 PM

隨著網路的不斷發展,越來越多的網站都需要檔案上傳和下載功能。作為一種開源的伺服器端腳本語言,PHP有著廣泛的應用場景和業界認可。而CMS(ContentManagementSystem,內容管理系統)是我們常見的網站類型之一,本文將討論如何使用PHP開發CMS中的檔案上傳與下載模組。一、文件上傳模組1.上傳文件的基本原理文件上傳的基本原理是將文件從客戶

如何使用PHP實現一個簡單的線上檔案上傳和下載系統 如何使用PHP實現一個簡單的線上檔案上傳和下載系統 Sep 24, 2023 pm 03:13 PM

如何使用PHP實現一個簡單的線上檔案上傳和下載系統,需要具體程式碼範例在網路時代,檔案的傳輸和共享是非常常見的需求。無論是個人或企業,都需要方便、快速地處理文件的上傳和下載操作。而PHP作為一種強大的伺服器端腳本語言,提供了豐富的函數和工具,可以方便地實現文件上傳和下載功能。本文將介紹如何使用PHP實作一個簡單的線上檔案上傳和下載系統,並提供詳細的程式碼範例。

See all articles