《PHP學(xué)習(xí):適用于初學(xué)者的簡易PHP文件上傳類》要點:
本文介紹了PHP學(xué)習(xí):適用于初學(xué)者的簡易PHP文件上傳類,希望對您有用。如果有疑問,可以聯(lián)系我們。
本文實例講述了PHP多文件上傳類,分享給大家供大家參考.具體如下:PHP應(yīng)用
<?php class Test_Upload{ protected $_uploaded = array(); protected $_destination; protected $_max = 1024000; protected $_messages = array(); protected $_permited = array( 'image/gif', 'image/jpeg', 'image/pjpeg', 'image/png' ); 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['name'], $filed['error']); //debug ok if ($isOk){ $sizeOk = $this->checkSize($filed['name'], $filed['size']); $typeOk = $this->checkType($filed['name'], $filed['type']); if ($sizeOk && $typeOk){ $success = move_uploaded_file($filed['tmp_name'], $this->_destination.$filed['name']); if ($success){ $this->_messages[] = $filed['name']."文件上傳成功"; }else { $this->_messages[] = $filed['name']."文件上傳失敗"; } } } } /** * 查詢messages數(shù)組內(nèi)容 * */ 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).'KB'; } /** * 檢測上傳錯誤 * @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[] = "系統(tǒng)錯誤!"; return false; } } } ?>
希望本文所述對大家的php程序設(shè)計有所贊助.PHP應(yīng)用
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP學(xué)習(xí):適用于初學(xué)者的簡易PHP文件上傳類》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/8495.html