• <menu id="maeqk"></menu>
  • \n
    \n\n\n\n\n\n\n\n\n\n\n<\/form>\n<\/body>\n<\/html>\n\n<\/pre>\n\n

    Readers who are interested in more PHP related content can check out the special topics of this site: \"Summary of PHP File Operations\", \"Summary of PHP Operations and Operator Usage\", \"Summary of PHP Network Programming Skills\", \"Introduction Tutorial on PHP Basic Grammar\" \", \"Summary of PHP office document operation skills (including word, excel, access, ppt)\", \"Summary of PHP date and time usage\", \"Introduction to PHP object-oriented programming tutorial\", \"Summary of PHP string (string) usage\" , \"Introduction Tutorial on PHP MySQL Database Operation\" and \"Summary of Common PHP Database Operation Skills\" <\/p>\n

    I hope this article will be helpful to everyone in PHP programming. <\/p>\n

    <\/p>\n

    \nhttp:\/\/www.bkjia.com\/PHPjc\/1123792.html<\/span>www.bkjia.com<\/span>true<\/span>http: \/\/www.bkjia.com\/PHPjc\/1123792.html<\/span>TechArticle<\/span>Multiple file upload classes and usage examples implemented by PHP. This article describes the multi-file upload class and usage examples implemented by PHP. . Share it with everyone for your reference, the details are as follows: 1. upFiles.css.php...<\/span>\n<\/div>\n
    <\/div>"}

    国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

    Table of Contents
    Multiple file upload classes and usage examples implemented in PHP,
    Home Backend Development PHP Tutorial Multi-file upload class implemented in PHP and usage examples, _PHP tutorial

    Multi-file upload class implemented in PHP and usage examples, _PHP tutorial

    Jul 12, 2016 am 08:53 AM
    php Multiple file upload

    Multiple file upload classes and usage examples implemented in PHP,

    This article describes the multi-file upload class and usage examples implemented in PHP. Share it with everyone for your reference, the details are as follows:

    1. upFiles.css.php file

    <&#63;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);
      //查看傳進來的數(shù)組里下標是否與成員屬性相同
      //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."個字節(jié)";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;
     }
     }
    &#63;>
    
    

    2. How to use

    uploade.php file:

    <&#63;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);
    &#63;>
    
    

    HTML file:

    <!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>
    
    

    Readers who are interested in more PHP related content can check out the special topics of this site: "Summary of PHP File Operations", "Summary of PHP Operations and Operator Usage", "Summary of PHP Network Programming Skills", "Introduction Tutorial on PHP Basic Grammar" ", "Summary of PHP office document operation skills (including word, excel, access, ppt)", "Summary of PHP date and time usage", "Introduction to PHP object-oriented programming tutorial", "Summary of PHP string (string) usage" , "Introduction Tutorial on PHP MySQL Database Operation" and "Summary of Common PHP Database Operation Skills"

    I hope this article will be helpful to everyone in PHP programming.

    www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1123792.htmlTechArticleMultiple file upload classes and usage examples implemented by PHP. This article describes the multi-file upload class and usage examples implemented by PHP. . Share it with everyone for your reference, the details are as follows: 1. upFiles.css.php...
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    Hot AI Tools

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    How do I stay up-to-date with the latest PHP developments and best practices? How do I stay up-to-date with the latest PHP developments and best practices? Jun 23, 2025 am 12:56 AM

    TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

    What is PHP, and why is it used for web development? What is PHP, and why is it used for web development? Jun 23, 2025 am 12:55 AM

    PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

    How to set PHP time zone? How to set PHP time zone? Jun 25, 2025 am 01:00 AM

    TosettherighttimezoneinPHP,usedate_default_timezone_set()functionatthestartofyourscriptwithavalididentifiersuchas'America/New_York'.1.Usedate_default_timezone_set()beforeanydate/timefunctions.2.Alternatively,configurethephp.inifilebysettingdate.timez

    How do I validate user input in PHP to ensure it meets certain criteria? How do I validate user input in PHP to ensure it meets certain criteria? Jun 22, 2025 am 01:00 AM

    TovalidateuserinputinPHP,usebuilt-invalidationfunctionslikefilter_var()andfilter_input(),applyregularexpressionsforcustomformatssuchasusernamesorphonenumbers,checkdatatypesfornumericvalueslikeageorprice,setlengthlimitsandtrimwhitespacetopreventlayout

    What is data serialization in PHP (serialize(), unserialize())? What is data serialization in PHP (serialize(), unserialize())? Jun 22, 2025 am 01:03 AM

    ThePhpfunctionSerialize () andunserialize () AreusedtoconvertcomplexdaTastructdestoresintostoraSandaBackagain.1.Serialize () c OnvertsdatalikecarraysorobjectsraystringcontainingTypeandstructureinformation.2.unserialize () Reconstruct theoriginalatataprom

    How do I embed PHP code in an HTML file? How do I embed PHP code in an HTML file? Jun 22, 2025 am 01:00 AM

    You can embed PHP code into HTML files, but make sure that the file has an extension of .php so that the server can parse it correctly. Use standard tags to wrap PHP code, insert dynamic content anywhere in HTML. In addition, you can switch PHP and HTML multiple times in the same file to realize dynamic functions such as conditional rendering. Be sure to pay attention to the server configuration and syntax correctness to avoid problems caused by short labels, quotation mark errors or omitted end labels.

    What are the best practices for writing clean and maintainable PHP code? What are the best practices for writing clean and maintainable PHP code? Jun 24, 2025 am 12:53 AM

    The key to writing clean and easy-to-maintain PHP code lies in clear naming, following standards, reasonable structure, making good use of comments and testability. 1. Use clear variables, functions and class names, such as $userData and calculateTotalPrice(); 2. Follow the PSR-12 standard unified code style; 3. Split the code structure according to responsibilities, and organize it using MVC or Laravel-style catalogs; 4. Avoid noodles-style code and split the logic into small functions with a single responsibility; 5. Add comments at key points and write interface documents to clarify parameters, return values ??and exceptions; 6. Improve testability, adopt dependency injection, reduce global state and static methods. These practices improve code quality, collaboration efficiency and post-maintenance ease.

    How do I execute SQL queries using PHP? How do I execute SQL queries using PHP? Jun 24, 2025 am 12:54 AM

    Yes,youcanrunSQLqueriesusingPHP,andtheprocessinvolveschoosingadatabaseextension,connectingtothedatabase,executingqueriessafely,andclosingconnectionswhendone.Todothis,firstchoosebetweenMySQLiorPDO,withPDObeingmoreflexibleduetosupportingmultipledatabas

    See all articles