Thay đổi kích thước tối đa tải lên php của bạn.
Bạn có biết tệp php.ini của mình ở đâu không?
Trước hết, hãy thử đặt tệp này vào thư mục gốc của bạn:
phpinfo.php
(xem http://php.net/manual/en/ Chức năng.phpinfo.php )
chứa:
<?php
phpinfo();
?>
Sau đó, điều hướng đến http://www.yoursite.com/phpinfo.php
Tìm kiếm "php.ini".
Để tải lên các tệp lớn, bạn cần max_execution_time, post_max_size, upload_max_filesize
Ngoài ra, bạn có biết tệp nhật ký lỗi của bạn ở đâu không? Hy vọng rằng nó sẽ cung cấp cho bạn manh mối về những gì đang xảy ra.
CHỈNH SỬA:
Đây là truy vấn tôi sử dụng để nhập tệp:
$query = "LOAD DATA LOCAL INFILE '$file_name' INTO TABLE `$table_name` FIELDS TERMINATED BY ',' OPTIONALLY
ENCLOSED BY '\"' LINES TERMINATED BY '$nl'";
Trong đó $ file_name là tên tệp tạm thời từ biến toàn cầu php $ _FILES, $ table_name là bảng đã được chuẩn bị để nhập và $ nl là biến cho phần cuối dòng csv (mặc định cho phần cuối dòng windows nhưng tôi có tùy chọn để chọn dòng linux kết thúc).
Điều khác là bảng ($ table_name) trong tập lệnh của tôi được chuẩn bị trước bằng cách quét csv trước để xác định loại cột. Sau khi xác định loại cột thích hợp, nó sẽ tạo bảng MySQL để nhận dữ liệu.
Tôi khuyên bạn nên thử tạo định nghĩa bảng MySQL trước, để khớp với những gì có trong tệp (kiểu dữ liệu, độ dài ký tự, v.v.). Sau đó, hãy thử truy vấn trên và xem nó chạy nhanh như thế nào. Tôi không biết định nghĩa bảng MySQL có bao nhiêu yếu tố về tốc độ.
Ngoài ra, tôi không có chỉ mục nào được xác định trong bảng cho đến khi SAU KHI tải dữ liệu. Các chỉ mục làm chậm quá trình tải dữ liệu.