php檔案單上傳和多上傳

2021-08-01 05:45:25 字數 3044 閱讀 7870

1.php單檔案和多檔案上傳
html部分**可以直接複製過去測試,直接可用

php**
<?php

/**

file: fileupload.class.php 檔案上傳類fileupload

本類的例項物件用於處理上傳檔案,可以上傳乙個檔案,也可同時處理多個檔案上傳

*/header('content-type:text/html;charset=utf-8');

class fileupload

return $this;

}/**

* 呼叫該方法上傳檔案

* @param string $filefile 上傳檔案的表單名稱

* @return bool 如果上傳成功返回數true

*/function upload($filefield)

/* 將檔案上傳的資訊取出賦給變數 */

$name = $_files[$filefield]['name'];

$tmp_name = $_files[$filefield]['tmp_name'];

$size = $_files[$filefield]['size'];

$error = $_files[$filefield]['error'];

/* 如果是多個檔案上傳則$file["name"]會是乙個陣列 */

if(is_array($name))

}else

/* 如果有問題,則重新初使化屬性 */

if(!$return)

$this->setfiles();

}if($return)

$filenames = $this->newfilename;

}

}$this->newfilename = $filenames;

}$this->errormess = $errors;

return $return;

/*上傳單個檔案處理方法*/

} else else

}else

} else

//如果$return為false, 則出錯,將錯誤資訊儲存在屬性errormess中

if(!$return)

$this->errormess=$this->geterror();

return $return;}}

/**

* 獲取上傳後的檔名稱

* @param void 沒有引數

* @return string 上傳後,新檔案的名稱, 如果是多檔案上傳返回陣列

*/public function getfilename()

/*** 上傳失敗後,呼叫該方法則返回,上傳出錯資訊

* @param void 沒有引數

* @return string 返回上傳檔案出錯的資訊報告,如果是多檔案上傳返回陣列

*/public function geterrormsg()

/* 設定上傳出錯資訊 */

private function geterror() 時出錯 : ";

switch ($this->errornum) 個位元組"; break;

case -3: $str .= "上傳失敗"; break;

case -4: $str .= "建立存放上傳檔案目錄失敗,請重新指定上傳目錄"; break;

case -5: $str .= "必須指定上傳檔案的路徑"; break;

default: $str .= "未知錯誤";

}return $str.'

'; }

/* 設定和$_files有關的內容 */

private function setfiles($name="", $tmp_name="", $size=0, $error=0)

/* 為單個成員屬性設定值 */

private function setoption($key, $val)

/* 設定上傳後的檔名稱 */

private function setnewfilename() else

}/* 檢查上傳的檔案是否是合法的型別 */

private function checkfiletype() else

}/* 檢查上傳的檔案是否是允許的大小 */

private function checkfilesize() else

}/* 檢查是否有存放上傳檔案的目錄 */

private function checkfilepath()

if (!file_exists($this->path) || !is_writable($this->path))

}return true;

}/* 設定隨機檔名 */

private function prorandname()

/* 複製上傳檔案到指定的位置 */

private function copyfile() else

} else

}} $up = new fileupload();

以下**在引用的類檔案中
//設定屬性(上傳的位置, 大小, 型別, 名是是否要隨機生成)

//使用物件中的upload方法, 就可以上傳檔案, 方法需要傳乙個上傳表單的名子 pic, 如果成功返回true, 失敗返回false

if ($up->upload("pic")) else

php檔案上傳之單檔案上傳

為了簡單一些,php檔案跟form表單寫在了乙個檔案裡.php單檔案上傳 1236 71213 1415 1617 18if empty files 45 exit msg error 46 47 filename fileinfo name 48 獲取檔案的副檔名 49 ext strtolowe...

php單檔案檔案上傳原理

目錄 用到的函式 實現乙個php檔案上傳的全部 explode separator,string,limit 表示用乙個字串分割另乙個字串,返回乙個陣列。第乙個引數表示風格的字元,第二個引數表示被分割的字串,第三個引數可選。file exists path 函式用來檢查檔案或者目錄是否存在,返回值為...

測試和php檔案上傳,php 檔案上傳 測試過程

1.搭建 php 環境,安裝 xampp 測試 hppt localhost a.php 或 http localhost xampp phpinfo.php 成功。2.建立 a.php 如下 upload dir var www if is uploaded file files userfile...