Seorang pemula baru belajar PHP Pada masa ini, pembangunan perlu menggunakan phpexcel untuk memasukkan 10,000 rekod ke dalam pangkalan data (1 rekod dengan 43 lajur, semak sama ada ia wujud dalam pangkalan data tidak wujud, teruskan memasukkan dan mengemas kini data asal Tetapkan bendera, jika tidak rekod akan dilangkau.
Situasi semasa ialah mengambil masa lebih daripada 20 saat untuk mengimport 2,000 keping data Apabila mengimport 10,000 keping data, ralat 500 dilaporkan. Import gagal disimpan. `$result=move_uploaded_file($_FILES'inputExcel',$uploadfile);
if(!$result)
{
die('no file!');
}
$objReader = PHPExcel_IOFactory::createReader('CSV')
->setDelimiter(',')
->setInputEncoding('GBK')
->setEnclosure('"')
->setLineEnding("\r\n")
->setSheetIndex(0);
$objPHPExcel = $objReader->load($uploadfile);
$sheet = $objPHPExcel->getSheet(0);
$highestRowNum = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
$highestColumnNum = PHPExcel_Cell::columnIndexFromString($highestColumn);
echo $highestRowNum.'+'.$highest
Bilangan baris dan lajur tidak boleh diperoleh di sini. Set_time_limit=0 telah ditambahkan pada kod, dan memori telah ditukar kepada 128M. Meminta tunjuk ajar
Sepatutnya ingatan penuh. Anda boleh menggunakan lelaran hasil untuk mengehadkan bilangan item yang dimasukkan setiap kali. Malah, ia adalah coroutine.
Satu import 10,000 keping data akan tamat masa dengan mudah dan meletakkan beban yang berat pada pelayan Anda boleh mempertimbangkan untuk membahagikan 1,000 keping data kepada berbilang import jenis ini boleh diselesaikan dengan cara yang tidak segerak jangan biarkan pengguna menunggu. Anda juga boleh mempertimbangkan untuk menggunakan coroutine.
Tambahkan nama fail yang dimuat naik pada baris gilir Tulis skrip untuk membaca nama fail daripada baris gilir dan buka fail untuk diimport
Memandangkan ia adalah csv, tidak perlu menggunakan PHPExcel Pustaka sumber terbuka ini menggunakan terlalu banyak memori Saya menggunakan perpustakaan ini sebelum ini, https://packagist.org/package... (nampaknya hanya menyokong PHP7). Saya tidak akan menulis demo saya akan mencarinya sendiri dalam dokumentasi Saya boleh mengimport ratusan ribu item tanpa sebarang tekanan, terima kasih.
Memperkenalkan satu lagi, https://packagist.org/package..., saya cadangkan supaya penyoal memahami dahulu apa itu csv, malah kita boleh menulis kelas import csv sendiri, yang dirasakan paling cekap dan ringan magnitud.