我正在研究一个将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>
有什么想法吗? 感谢
答案 0 :(得分:0)
首先,检查 if($ _ FILES ['csvfile'] ['size']&gt; 0),将名称添加到您的文件 $ config ['file_name'] = $ new_name ; 然后将输入文件名的名称提供给do_upload函数 if(!$ this-&gt; upload-&gt; do_upload('csvfile'))。