使用CodeIgniter

时间:2017-03-27 14:42:03

标签: php codeigniter file upload xlsx

我正在研究一个将xlsx转换为csv并在数据库上做一些事情的模块,我用PHP做了,但现在我必须用CodeIgniter来做。

这是我的主要问题:

按下上传按钮时我有一些“无限加载”,没有任何事情发生。

这是我的控制器

    public function convert(){

      $config['upload_path'] = FCPATH.'views/admin/traitement_xslx/csv'; 
      $config['allowed_types'] = 'xlsx|csv|xls';
      $config['max_size'] = '1000000000'; 
      $config['overwrite'] = true;
      $config['encrypt_name'] = FALSE;
      $config['remove_spaces'] = TRUE;

      $this->upload->initialize($config);

      if ( ! $this->upload->do_upload('xlsxfile'))
      {
            echo 'no';
      }
      else
      {
            echo 'ok';
      }
    }

这是我的观点

  <!DOCTYPE HTML>
   <html>
   <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8"> 
     <?php echo $redir; ?>    
       <script type="text/javascript">
          function message(){  
            document.getElementById("msg").innerHTML="Conversion<blink>...  </blink>";
             } 

      </script> 
  </head>
      <body >     
        <div id="container" style="display:inline-block;">
            <h3 class="alert" id="msg"><?php echo $alert; ?></h3>  
            <p>Selectionnez un fichier XLSX à convertir et traiter :</p>

            <form action="<?= site_url('admin/Traitement_doublons/convert'); ?>" method="post" enctype="multipart/form-data">

                <input type="file" name="xlsxfile" size="40" />
                <input type="hidden" name="convert">
                <br />
                <br />
                <input type="text" name="throttle" id="throttle" value="0" onkeyup="this.value=this.value.replace(/[^\d]/,\'\')"  size="5"> # de lignes à convertir (0 = No limit) <br />
                <br />
                <input type="submit" class="button" name ="upload"  onClick="message()"  value="Convertir en CSV et traiter" />
            </form>
        </div>


        <div id="container" style="display:inline-block;">
            <h3 class="alert" id="msg"><?php echo $alert2; ?></h3>  
            <p>Où un fichier CSV à seulement traiter :</p>

            <form action="#" method="post" enctype="multipart/form-data">

                <input type="file" name="csvfile" size="40" />
                <input type="hidden" name="convertcsv">
                <br />
                <br />
                <input type="text" name="throttlecsv" id="throttle" value="0" onkeyup="this.value=this.value.replace(/[^\d]/,\'\')"  size="5"> # de lignes à convertir (0 = No limit) <br />
                <br />
                <input type="submit" class="button" name = "uploadcsv"  onClick="message()"  value="Traiter les données" />
            </form>
        </div>
        <div>
            <p><?php if(isset($_SESSION['champs']['total'])){ echo $_SESSION['champs']['total']; }?></p>
            <p><?php if(isset($_SESSION['champs']['inseres'])){ echo $_SESSION['champs']['inseres']; }?></p>
            <p><?php if(isset($_SESSION['champs']['doublons'])){ echo $_SESSION['champs']['doublons']; }?></p>
        </div>
    </body>
</html>

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

首先,检查 if($ _ FILES ['csvfile'] ['size']&gt; 0),将名称添加到您的文件 $ config ['file_name'] = $ new_name ; 然后将输入文件名的名称提供给do_upload函数 if(!$ this-&gt; upload-&gt; do_upload('csvfile'))