亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

PHP實現的多文件上傳類及用法示例
來源:易賢網 閱讀:1406 次 日期:2016-08-24 15:06:47
溫馨提示:易賢網小編為您整理了“PHP實現的多文件上傳類及用法示例”,方便廣大網友查閱!

本文實例講述了PHP實現的多文件上傳類及用法。分享給大家供大家參考,具體如下:

1、upFiles.css.php 文件

<?php

class UploadFiles{

 private $maxsize = '1000000'; //允許上傳文件最大長度

 private $allowtype = array('jpg','png','gif','jpeg');//允許上傳文件類型

 private $israndfile = true;//是否隨機文件名

 private $filepath;//上傳路徑

 private $originName;//上傳的源文件

 private $tmpfileName;//臨時文件名

 private $newfileName;//新文件名

 private $fileSize;//文件大小

 private $fileType;//文件類型

 private $errorNum = 0;//錯誤號

 private $errorMessg = array();//錯誤消息

 //對成員初始化

 function __construct($options = array()){

 foreach($options as $key=>$val){

  $key = strtolower($key);

  //查看傳進來的數組里下標是否與成員屬性相同

  //print_r(array_keys(get_class_vars(get_class($this))));

  if(!in_array($key,array_keys(get_class_vars(get_class($this))))){

  continue;

  }else{

  $this->setOption($key,$val);

  }

 }

 }

 private function setOption($key,$val){

   $this->$key = $val;

 //echo $this->errorNum."<br>";

 }

 //檢查文件上傳路徑

 private function checkfilePath(){

 //echo $this->filepath;

 if(empty($this->filepath)){

  $this->setOption('errorNum',"-5");

  return false;

 }

 if(!file_exists($this->filepath) || !is_writable($this->filepath)){

  if(!@mkdir($this->filepath,0755)){

  $this->setOption('errorNum','-4');

  return false;

  }

 }

 return true;

 }

 //獲取錯誤信息

 private function getError(){

 $str = "上傳文件{$this->originName}出錯---";

 switch($this->errorNum){

  case 4; $str .= "沒有文件被上傳";break;

  case 3; $str .= "文件只被部分上傳";break;

  case 2; $str .= "超過文件表單允許大小";break;

  case 1; $str .= "超過php.ini中允許大小";break;

  case -1; $str .= "未允許的類型";break;

  case -2; $str .= "文件過大,不能超過".$this->maxsize."個字節";break;

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

  case -4; $str .= "建立文件上傳目錄失敗";break;

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

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

 }

 return $str."<br>";

 }

 //檢查文件類型

 private function checkfileType(){

 //echo $this->fileType;

 if(!in_array(strtolower($this->fileType),$this->allowtype)){

 $this->setOption('errorNum','-1');

  return false;

 }else{

  return true;

 }

 }

 //檢查文件大小

 private function checkfileSize(){

 if($this->fileSize > $this->maxsize){

  $this->setOption('errorNum','-2');

  return false;

 }else{

  return true;

 }

 }

 //處理隨機文件名稱

 private function prorandFile(){

 $ch = $this->israndfile;

 if($ch == 'true'){

  return true;

 }else{

  return false;

 }

 }

 //

 private function setFiles($name="",$tmp_name="",$size="",$error=""){

 //檢查上傳路徑

 if(!$this->checkfilePath()){

  //$this->errorMessg = $this->getError();

  return false;

 }

 //echo $error."<br>";

 if($error){

 $this->setOption('errorNum',$error);

  return false;

 }

 $arrstr  = explode('.',$name);

 $type   = end($arrstr);

 $this->setOption('originName',$name);

 $this->setOption('fileSize',$size);

 $this->setOption('fileType',$type);

 $this->setOption('tmpfileName',$tmp_name);

 return true;

 }

 //檢查是否有文件上傳

 function checkFile($formname){

 if(!@$_FILES[$formname]){

  $this->setOption('errorNum',4);

  return false;

 }else{

  return true;

 }

 }

 //上傳文件

 function uploadeFile($formname){

 if(!$this->checkFile($formname)){

  $this->errorMessg = $this->getError();

  return false;

 }

 $return  = true;

 $name   = @$_FILES[$formname]['name'];

 $tmp_name = @$_FILES[$formname]['tmp_name'];

 $size   = @$_FILES[$formname]['size'];

 $error  = @$_FILES[$formname]['error'];

 //$type   = $_FILES[$formname]['type'];

 if(is_array($name)){

  $errors = array();

  for($i=0; $i<count($name); $i++){

  if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i])){

   if(!$this->checkfileSize() || !$this->checkfileType()){

   $errors[] = $this->getError();

   $return = false;

   }

  }else{

   $errors[] = $this->getError();

   $return = false;

  }

  if(!$return) $this->setFiles();

  }

  if($return){

  $newfileN = array();

  for($i=0; $i<count($name); $i++){

   if($this->setFiles($name[$i],$tmp_name[$i],$size[$i],$error[$i])){

   if(!$this->copyFile()){

    $errors[] = $this->getError();

    $return = false;

   }else{

    $newfileN[] = $this->newfileName;

   }

   }

   $this->newfileName = $newfileN;

  }

  }

  //print_r($errors);

  $this->errorMessg = $errors;

  //echo $errors;

  return $return;

 }else{

  if($this->setFiles($name,$tmp_name,$size,$error)){

  $return = true;

  if($error) var_dump($error);

  if($this->checkfileSize() && $this->checkfileType()){

  }else{

   $return = false;

  }

  }else{

  $return = false;

  }

  if(!$return){

  $this->errorMessg = $this->getError();

  }

  return $return;

 }

 }

 //獲取上傳后的文件名

 function getnewFile(){

  return $this->newfileName;

 }

 //把文件拷貝到指定的路徑

 function copyFile(){

 $filepath = rtrim($this->filepath,'/')."/";

 if(!$this->errorNum){

  if($this->prorandFile()){

   $this->newfileName = date('Ymdhis').rand(1000,9999).".".$this->fileType;

  }else{

   $this->newfileName = $this->originName;

  }

  if(!move_uploaded_file($this->tmpfileName,$filepath.$this->newfileName)){

  $this->setOption('errorNum',-3);

  return false;

  }else{

  return true;

  }

 }else{

  return false;

 }

 }

 //上傳錯誤后返回的消息

 function gteerror(){

  $err = $this->errorMessg;

 return $err;

 }

 }

?>

2、使用方法

uploade.php 文件:

<?php

//print_r($_FILES['spic']);

header('Content-Type:text/html;charset=utf-8');

//if(@$_FILES['spic'])echo "ddddddddd";;

include('upFiles.css.php');

$upfile = new UploadFiles(array('filepath'=>'./upload','allowtype'=>array('php','bmp','gif','jpg','png'),'israndfile'=>true,'maxsize'=>'1000000'));

if($upfile ->uploadeFile('spic')){

 $arrfile = $upfile ->getnewFile();

 foreach($arrfile as $v){

 echo $v,"<br/>";

 }

 echo "上傳成功!";

}else{

 $err = $upfile ->gteerror();

 if(is_array($err)){

 foreach($err as $v1){

  echo $v1,"<br/>";

 }

 }else{

 echo $err;

 }

 //var_dump($err);

}

//var_dump($upfile);

?>

HTML 文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>無標題文檔</title>

<script type="text/javascript">

function Check(){

 //alert('dddd');

 for(i=1; i<9; i++){

 if(document.getElementById('v'+i).value == ''){

  document.getElementById('v'+i).name = 'uu';

 }

 }

}

</script>

</head>

<body>

<form name="upfile" action="uploade.php" method="post" enctype="multipart/form-data">

<input type="file" name="spic[]" id="v1" /><br/>

<input type="file" name="spic[]" id="v2" /><br/>

<input type="file" name="spic[]" id="v3" /><br/>

<input type="file" name="spic[]" id="v4" /><br/>

<input type="file" name="spic[]" id="v5" /><br/>

<input type="file" name="spic[]" id="v6" /><br/>

<input type="file" name="spic[]" id="v7" /><br/>

<input type="file" name="spic[]" id="v8" /><br/>

<input type="submit" name="sub" value="提交" onclick="return Check()" />

<input type="reset" name="res" value="重填" />

</form>

</body>

</html>

希望本文所述對大家PHP程序設計有所幫助。

更多信息請查看網絡編程
易賢網手機網站地址:PHP實現的多文件上傳類及用法示例
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
欧美不卡三区| 久久精品欧美| 99爱精品视频| 国产精品国产三级国产专区53| 9色国产精品| 18成人免费观看视频| 午夜久久tv| 久久久噜噜噜久久狠狠50岁| 美女久久一区| 国产精品一二| 亚洲欧美国产精品桃花| 亚洲一区二区三区高清不卡| 国产婷婷精品| 蜜乳av另类精品一区二区| 久久福利电影| 欧美一区激情| 欧美午夜视频| 亚洲国产激情| 国产精品手机视频| 久久综合导航| 狠狠久久婷婷| 一区二区在线不卡| 日韩午夜av| 国产精品夜夜夜| 久久精品五月婷婷| 激情视频一区| 亚洲午夜精品久久| 亚洲乱码视频| 久久精品官网| 尤物精品在线| 欧美亚洲一级| 亚洲午夜精品久久| 国产伦精品一区| 欧美精品午夜| 中文亚洲欧美| 欧美日韩高清在线一区| 亚洲精品无人区| 久久资源在线| 一本色道久久综合亚洲精品不卡| 裸体丰满少妇做受久久99精品| 欧美日本在线| 亚洲一区二区伦理| 精品9999| 免费在线欧美黄色| 伊人久久成人| 麻豆久久久9性大片| 尹人成人综合网| 可以看av的网站久久看| 欧美日韩高清在线一区| 国产精品一卡| 亚洲国产专区| 欧美成人综合| 国产精品区一区| 今天的高清视频免费播放成人| 尹人成人综合网| 久久精品一本| 亚洲一区国产| 亚洲精品综合| 亚洲麻豆av| 在线观看欧美亚洲| 韩日在线一区| 欧美1区免费| 性欧美xxxx大乳国产app| 亚洲大胆视频| 激情久久五月| 国内久久视频| 亚洲视频在线二区| 欧美婷婷在线| 国产精品大片| 国产精品v日韩精品v欧美精品网站| 免费亚洲一区二区| 亚洲综合精品四区| 亚洲一区二区三区免费在线观看| 亚洲国产综合在线看不卡| 午夜精品亚洲| 欧美日韩理论| 国产一区二区在线观看免费播放| 欧美精品一区二区视频| 久久久99国产精品免费| 性娇小13――14欧美| 亚洲欧美视频一区二区三区| 亚洲欧美日韩精品久久久 | 一区在线视频观看| 亚洲午夜在线观看| 激情婷婷久久| 激情久久一区| av不卡在线| 夜夜爽99久久国产综合精品女不卡| 欧美视频福利| 亚洲先锋成人| 99精品热视频只有精品10| 最新国产乱人伦偷精品免费网站| 在线观看亚洲视频啊啊啊啊| 亚洲国产清纯| 亚洲一区二区动漫| 久久五月激情| 激情久久婷婷| 亚洲一区二区在线看| 欧美一区二区三区四区在线观看地址| 老司机午夜精品视频在线观看| 久久综合九色99| 国产一区在线免费观看| 中文高清一区| 狂野欧美性猛交xxxx巴西| 欧美日韩一区二区三| 亚洲高清成人| 美女精品网站| 欧美日韩综合| 国产亚洲欧美一区二区三区| 米奇777在线欧美播放| 狠狠久久婷婷| 六月婷婷久久| 欧美xxx在线观看| 亚洲精品偷拍| 午夜欧美视频| 国产亚洲激情| 伊人精品在线| 欧美高清视频一区| 99精品视频免费观看| 欧美一区激情| 亚洲一区二区动漫| 欧美精选在线| 免费在线日韩av| 亚洲精品偷拍| 国产综合欧美| 久久国产精品一区二区三区| 尹人成人综合网| 久久久久久穴| 亚洲一区黄色| 99在线精品免费视频九九视| 欧美人成在线| 久久先锋影音| 久久av最新网址| 国产日韩1区| 亚洲欧洲在线一区| 激情婷婷久久| 国产精品v欧美精品v日韩| 欧美一区二区三区在线免费观看| 国产伦精品一区二区| 日韩视频在线观看国产| 黄色av成人| 欧美午夜a级限制福利片| 久久综合福利| 你懂的视频一区二区| 亚洲欧美成人| 男女精品视频| 噜噜噜91成人网| 蘑菇福利视频一区播放| 先锋影音久久| 久久看片网站| 欧美精品成人| 国产在线欧美日韩| 国产一区自拍视频| 狠狠色综合色区| 欧美在线网址| 好吊一区二区三区| 影院欧美亚洲| 国产欧美日韩在线播放| 日韩天堂av| 亚洲在线免费| 久久综合导航| 亚洲天堂男人| 亚洲日本成人| 国产精品三上| 久久午夜精品| 影音欧美亚洲| 国产精品啊啊啊| 亚洲精品极品| 午夜在线精品| 欧美日韩无遮挡| 亚洲精品1区2区| 亚洲男人影院| 欧美日韩在线不卡一区| 鲁鲁狠狠狠7777一区二区| 久久久综合网| 在线播放不卡| 亚洲一区二区三区欧美| 欧美国产激情| 亚洲毛片av| 久久免费国产| 久久亚洲综合网| 亚洲午夜极品| 每日更新成人在线视频| 国产一在线精品一区在线观看| 日韩亚洲国产欧美| 久久综合网络一区二区| 91久久极品少妇xxxxⅹ软件| 久久国产精品毛片| 在线观看的日韩av| 美女日韩在线中文字幕| 黑人巨大精品欧美一区二区小视频| 国产精品啊v在线| 国产精品一区免费观看| 欧美特黄一级| 久久综合导航| 亚洲欧美国产不卡| 亚洲高清久久| 国产一区二区三区自拍| 亚洲一区二区三区免费在线观看| 欧美三区视频| 麻豆av福利av久久av| 亚洲欧洲精品一区二区| 欧美精品免费观看二区| 国产伦一区二区三区色一情| 激情久久久久久久| 欧美99久久| 久久久久久色| 蜜桃av久久久亚洲精品| 亚洲看片一区| 激情六月综合| 国内自拍视频一区二区三区| 欧美成人一品| 久久综合婷婷| 欧美在线三区| 米奇777在线欧美播放| 一二三区精品| 亚洲人成久久| 影院欧美亚洲| 亚洲黄色成人| 国内精品美女在线观看| 久久综合激情| 你懂的国产精品| 国产日韩欧美三区| 中文亚洲免费| 性刺激综合网| 久久蜜桃精品| 欧美人成网站| 亚洲性图久久| 亚洲精品少妇| 中文网丁香综合网| 欧美在线综合| 久久婷婷av| 欧美大片专区| 欧美成人tv| 国产一区观看| 99国产精品自拍| 国产区二精品视| 亚洲免费在线| 欧美激情第8页| 美女久久一区| 欧美午夜在线| 欧美国产高潮xxxx1819| 欧美天堂亚洲电影院在线观看| 亚洲欧洲另类| 奶水喷射视频一区| 99伊人成综合| 欧美日韩综合久久| 久久中文字幕一区二区三区| 国产精品免费一区二区三区观看| 极品中文字幕一区| 欧美日本免费| 你懂的国产精品| 噜噜爱69成人精品| 免费欧美日韩| 香蕉亚洲视频| 奶水喷射视频一区| 国产精品一区二区在线观看| 亚洲美女黄网| 亚洲国产影院| 亚洲三级电影在线观看| 影音先锋一区| 韩日成人在线| 精品白丝av| 亚洲国产专区校园欧美| 亚洲国产黄色| 激情综合在线| 伊人久久亚洲影院| 最新亚洲激情| 亚洲少妇自拍| 亚洲主播在线| 久久免费一区| 欧美日韩成人一区二区三区| 欧美日韩国产一区精品一区| 亚洲欧美一区在线| 欧美区亚洲区| 亚洲性图久久| 亚洲精品字幕| 先锋亚洲精品| 欧美日本一区二区视频在线观看 | 国产亚洲二区| 国产农村妇女精品一二区| 99在线精品视频在线观看| 国产欧美一级| 久久成人免费| 欧美日韩中文| 亚洲看片免费| 蜜桃av综合| 国产精品xvideos88| 亚洲精品社区| 久久香蕉精品| 亚洲激情黄色| 久久精品一区二区三区中文字幕| 午夜国产精品视频免费体验区| 好吊一区二区三区| 亚洲美女少妇无套啪啪呻吟| 久久99伊人| 一区在线免费观看| 免费日韩av片| 狠狠色狠狠色综合日日tαg| 一区二区三区四区五区精品视频| 国产精品日本欧美一区二区三区| 久久日韩精品| 一本久久综合| 久久欧美肥婆一二区| 国产中文一区二区| 国产伦理一区| 欧美午夜在线视频| 亚洲综合二区| 亚洲精品社区| 欧美激情麻豆| 国产一区二区高清不卡| 欧美1区视频| 99精品99久久久久久宅男| 久久久久久久久久久一区| 韩国精品一区二区三区| 性色一区二区| 伊人成人在线视频| 午夜精品网站| 亚洲一区二区精品在线| 尤物网精品视频| 噜噜噜躁狠狠躁狠狠精品视频| 在线观看欧美一区| 久久国产欧美| 亚洲一区二区三区免费观看 | 99精品欧美| 欧美日韩中文| 久久久精品五月天| 国产精品一二| 亚洲日产国产精品| 雨宫琴音一区二区在线| 欧美日韩三区| 老司机午夜精品视频在线观看| 国产欧美大片| 亚洲日本无吗高清不卡| 永久久久久久| 亚洲小说欧美另类社区| 欧美少妇一区| 欧美另类专区| 欧美精品v日韩精品v国产精品| 亚洲一区二区三区欧美| 亚洲美洲欧洲综合国产一区| 亚洲国产精品一区在线观看不卡 | 伊人成年综合电影网| 久久综合福利| 久久香蕉精品| 午夜精品国产| 国内不卡一区二区三区| 狠狠色综合网| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久激情视频| 国产精品尤物| 久久国产精品亚洲va麻豆| 亚洲欧美国产精品桃花| 国产伦精品一区二区三区| 亚洲永久免费精品| 久久一区激情| 欧美日韩理论| 亚洲高清在线播放| av成人国产| 亚洲一区三区电影在线观看| 亚洲一区二区三区精品在线观看 | 国产精品日本| 久久三级视频| 国产一区日韩一区| 18成人免费观看视频| 一本色道久久综合| 免费亚洲一区二区| 欧美激情第8页| 亚洲国产综合在线看不卡| 中文精品视频| 欧美激情第六页| 在线精品在线| 免费在线观看成人av| 午夜久久一区| 一区二区三区四区五区精品视频| 免费在线一区二区| 激情av一区| 嫩草成人www欧美| 激情视频一区二区| 亚洲影院免费| 黄色精品免费| 免费久久99精品国产自在现线| 午夜久久资源| 亚洲国产一区二区三区在线播| 国产精品毛片| 国产一区自拍视频| 校园激情久久| 精品动漫3d一区二区三区免费版| 国产精品乱子乱xxxx| 欧美激情无毛| 亚洲欧美日韩精品久久久| 黄色国产精品| 久久久久久九九九九| 91久久视频| 老牛国产精品一区的观看方式| 亚洲国产一区二区三区a毛片 | 欧美在线首页| 99亚洲一区二区| 欧美网站在线| 欧美不卡在线|