【发布时间】:2015-02-27 08:35:21
【问题描述】:
我当前的 CI 项目正在处理文件。我想上传一个 xls| xlsx 文件到服务器,然后将 excel 文件数据导入到数据库表中。
作为第一部分,文件上传成功,我将文件上传到application,system,assets同级的uploads文件夹中。现在我想加载这个文件并将这些内容导入数据库。我正在使用 PHPExcel 来执行此操作
这是我的控制器
$this->load->library('phpexcel');
$this->load->library('PHPExcel/iofactory');
$objPHPExcel = new PHPExcel();
$objReader= IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel=$objReader->load(BASE_URL().'uploads/Data_Report.xls');
$objWorksheet=$objPHPExcel->setActiveSheetIndex(0);
$this->load->model('datas_model');
for($i=2;$i<=77;$i++) {
$client_name= $objWorksheet->getCellByColumnAndRow(0,$i)->getValue();
$client_address= $objWorksheet->getCellByColumnAndRow(1,$i)->getValue();
$data_inp=array('name'=>$client_name, 'address'=>$client_address);
$this->datas_model->add_data($data_inp);
}
这是我的观点
<?php echo form_open_multipart('../settings_controller/upload_data/do_upload');?>
<div class="custom-file-upload">
<input type="file" id="file" name="userfile" multiple/>
</div>
<div class="button-container-2">
<button class="btn btn-primary" id="updown-btn" type="submit" style="height:45px;">Upload </button>
</div>
<?php echo "</form>"?>
当我运行它时,它会显示一个错误Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open http://localhost/myproject/uploads/Data_Report.xls for reading! File does not exist.'
当我将该 Data_Report.xls 文件放入 htdocs 时,它会成功运行。
问题是当我使用 BASE_URL().'uploads/Data_Report.xls' 时。但该文件实际上是存在的,我通过在 url 上粘贴 localhost/myproject/uploads/Data_Report.xls 进行了验证,并且下载成功。
任何帮助将不胜感激。
【问题讨论】:
标签: php codeigniter file-upload phpexcel xls