Vui lòng xem qua Mô tả sau và gợi ý và nhận câu trả lời dễ dàng!
Mô tả:
Trên thực tế như nhiều người đã khuyên để thêm/thay thế các dòng sau trong file (application/config/mimes.php):
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
Nhưng tôi có nhận ra rằng trong CodeIgniter Phiên bản 2.2. * vấn đề có chút khác biệt! Họ đã thêm dòng đó rồi, nhưng quên để thêm sau "FILE_TYPE" ==> 'application/vnd.ms-excel'
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel'),
Vì vậy, thêm trên 'application/vnd.ms-excel' vào mảng của xlsx loại tệp, hãy để tôi tải lên các tệp .xlsx!
Gợi ý:
Bất cứ khi nào bạn nhận được lỗi sau, trên CodeIgniter Platform, và các tập tin tải lên:
Các filetype bạn đang cố gắng để tải lên không được phép.
làm như sau trong phương pháp upload Kiểm Soát Tài Chính của bạn,
var_dump($this->upload->data());
Và nó sẽ cung cấp cho bạn một mảng lớn mà bạn có thể có được một ý tưởng từ link này. (Xin vui lòng, xem kết thúc của trang đó) . Trong mảng đó, bạn có thể nhận được mime_type thực sự của tệp bạn đang cố gắng tải lên nhưng không cho phép bạn tải lên.
Trả lời:
Trong trường hợp của tôi, mở rộng tập tin của tôi là, .xlsx, và các loại mime đã application/vnd.ms-excel, mà đã không được thêm vào
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
Vì vậy, tôi đã thêm nó theo cách thủ công và sau đó nó hoạt động VERRY WELL !!!
Điều tương tự cũng xảy ra khi tải lên CSV một lần nữa, khi tôi đã kiểm tra tiện ích mở rộng tệp là .csv nhưng loại mime đã text/plain, khi tôi thêm nó vào dòng sau:
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel');
và lưu lại dưới dạng sau,
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'),
Nó hoạt động như một nét duyên dáng! : D Hãy thử nó, nếu bạn tìm thấy một cái gì đó mới trong các bước trên, xin vui lòng bình luận ở đây !!! Vì vậy, hy vọng điều này sẽ hữu ích cho tất cả cộng đồng CodeIgniter, tôi đã đăng nó một thời gian!
Trân trọng kẻ xuất sắc nhất,
Randika
hmmm, nó có thể giải quyết được vấn đề, nhưng nó sẽ cho phép các tệp .zip không phải là tệp xlsx được tải lên, nếu tôi không nhầm. –
Vâng, tôi nghĩ rằng ban đầu, nhưng CI thực hiện kiểm tra phần mở rộng tập tin VÀ loại mime, vì vậy nếu bạn thử tải lên một tệp zip, vì phần mở rộng là zip và không xlsx nó ném một lỗi. Tôi cũng đã thêm các dòng sau vào tệp mimes.php cho công việc tôi đã thực hiện: 'slk' => 'text/plain', 'xlsx' => mảng ('application/vnd.openxmlformats -officedocument.spreadsheetml.sheet ',' application/zip '), ' ods '=>' application/octet-stream – Stevo
điều gì về tệp zip có đuôi xlsx (và không phải là tệp xlsx hợp lệ)? –