初心者は PHP を学んだばかりです。現在、開発では phpexcel を使用してデータベースに 10,000 レコード (43 列の 1 レコード) を挿入する必要があります。存在しない場合は、元のデータの挿入と更新を続行します。フラグを設定しないと、レコードはスキップされます。
現在の状況では、2,000 個のデータをインポートするのに 20 秒以上かかります。10,000 個のデータをインポートすると、アップロードしたファイルが見つからないというエラーが報告されます。が保存されます。 `$result=move_uploaded_file($_FILES'inputExcel',$uploadfile);
ここでは行数と列数を取得できません。 Set_time_limit=0 がコードに追加され、メモリが 128M に変更されました。指導を求める
大家讲道理2017-05-16 13:01:12
10,000 個のデータを 1 回インポートするとタイムアウトになりやすく、サーバーに大きな負荷がかかります。この種のビッグ データ インポートは、非同期で完了することができます。ユーザーを待たせないでください。代わりにコルーチンの使用を検討することもできます。
漂亮男人2017-05-16 13:01:12
アップロードされたファイル名をキューに追加します。キューからファイル名を読み取り、インポート用にファイルを開くスクリプトを作成します。スクリプトを crontab スケジュールされたタスクに追加するか、サービスとして作成します。
为情所困2017-05-16 13:01:12
CSVなのでPHPExcelを使う必要はありません。以前このライブラリを使用していました。 https://packagist.org/package... (PHP7のみをサポートしているようです)。デモは書きません。ドキュメントで自分で探します。何十万ものアイテムをストレスなくインポートできます。ありがとうございます。
もう 1 つ、https://packagist.org/package... を紹介します。最初に csv とは何かを理解することをお勧めします。csv インポート クラスを自分で作成することもできます。これは最も効率的で軽量です。 。