2016-11-27 7 views
0

私は現在、ユーザーがCSVファイルをデータベースにインポートできるアプリケーションを構築しています。私が混乱しているのは、ファイル情報が失われていることを知りつつ、2番目のインポートマッピングプロセスを処理する最善の方法です。 CSVファイルを処理し、インポートマッピングおよび例えばデータのページに戻ってリダイレクトする、PHP Lavarel - 2ステップのCSVファイルを作成するマッピングの確認を含むインポートプロセス

enter image description here

サーバがポストを処理する:

enter image description here

形成する第1のステップは、ファイルをユーザに尋ねます

フォームが再びポストするとき、サーバーはどのファイルを探すかをどのように知るのですか?私は、保存されたファイルパスを押し戻して隠れた入力とすることを考えていましたが、これはユーザーが変更できるので危険です。たぶん暗号化された何らかの文字列ですか?

アドバイスは素晴らしいでしょうか、これを達成するためのより良い方法を考えることができますか?

また、選択ドロップダウンから1つのオプションのみを選択できるようにする良い方法はありますか?

答えて

1

ファイルパスをデータベースに保存する "アップロード"モデルを作成できます。ユーザーがCSVをアップロードすると、モデルインスタンスが作成され、フィールドをマップするオプションがあるフォームにリダイレクトされます。フィールドを設定すると、CSVを処理してレコードを削除します。また、一定時間(24時間)経過後に未処理のCSVファイルをクリーンアップするスケジュールタスクを作成することもできます。

+0

モデル行を特定するために値をフォームに戻す必要があると思います。おそらくuuidなどですか? – user2321428

+0

うん。しかし、そのような識別子を使用すると、ファイル名をパラメータとして渡す必要がないことを意味します。実際、ユーザーは決してそれを見ることはできません! –

関連する問題