Dự án CI hiện tại của tôi hiện đang xử lý với tệp. tôi muốn tải lên một xls | xlsx tệp vào máy chủ và sau đó nhập dữ liệu tệp excel vào bảng Cơ sở dữ liệu.PHP - Trình viết mã: Ngoại lệ không bắt buộc 'PHPExcel_Reader_Exception' với thông báo 'Không thể mở để đọc, Tệp không tồn tại
như phần đầu tiên, các tập tin được tải lên thành công, và tôi tải lên các tập tin vào cập thư mục trong cùng một mức độ ứng dụng, hệ thống, tài sản. bây giờ tôi muốn tải tệp này và nhập các nội dung đó vào DB. Tôi đang sử dụng PHPExcel thực hiện hành động này
Đây là điều khiển của tôi
$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);
}
và đây là quan điểm của tôi
<?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>"?>
khi tôi đang chạy nó chỉ cho tôi một lỗi Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open http://localhost/myproject/uploads/Data_Report.xls for reading! File does not exist.'
khi tôi đặt tệp Data_Report.xls đó bên trong htdocs, nó sẽ rks thành công.
Vấn đề là khi im sử dụng BASE_URL(). 'Uploads/Data_Report.xls'. nhưng các tập tin là thể chất ở đó và tôi xác minh bằng cách dán localhost/myproject/uploads/Data_Report.xls trên url và nó tải về thành công.
Mọi trợ giúp sẽ được đánh giá cao.
bây giờ tôi nhận được giải pháp khi cung cấp đường dẫn tương đối bằng cách xóa base_url.nhưng đây là phương pháp chính xác để giải quyết vấn đề này.? bởi vì nó không sử dụng base_url.? Vì vậy, có bất kỳ vấn đề trong tương lai (lưu trữ) –
cập nhật câu trả lời của tôi cho không hardcoding đường dẫn tuyệt đối, và cho tôi biết nếu nó hoạt động –
có nó đã được làm việc khi cố gắng ./myproject/uploads/Data_Report.xls mà không BASE_URL() –