PHP のドキュメントでは、同じセッション内で 2 つのファイルが同時にアップロードされた場合 (ブラウザの 2 つのタブで 2 つのアップロードが実行されている場合) に何が起こるかについて説明していません。
両方のアップロードの進行状況を追跡する方法はありますか? 2 番目のアップロードが開始されると、最初のアップロード ステータスは失われますか?
ありがとう!
PHP のドキュメントでは、同じセッション内で 2 つのファイルが同時にアップロードされた場合 (ブラウザの 2 つのタブで 2 つのアップロードが実行されている場合) に何が起こるかについて説明していません。
両方のアップロードの進行状況を追跡する方法はありますか? 2 番目のアップロードが開始されると、最初のアップロード ステータスは失われますか?
ありがとう!
はい。PHP のセッション アップロードの進行状況機能を使用して、異なるタブで 2 つの異なるアップロードのステータスを監視できます。value=""
非表示のアップロード進行状況名フィールドのパラメーターを変更して、両方のフォームで異なるアップロード進行状況名を作成するだけです。
たとえば、タブ 1 のアップロード フォームは次のようになります。
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="tab1">
<!-- notice the value="tab1" above -->
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input type="file" name="myUploadName" />
<input type="submit" />
</form>
次に、タブ 2 のアップロード フォームは次のようになります。
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="tab2">
<!-- notice the value="tab2" above -->
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input type="file" name="myUploadName" />
<input type="submit" />
</form>
2 つの異なるアップロード進行状況セッションを作成したので、次のように PHP 側で進行状況データを取得できます。
$_SESSION['upload_progress_tab1'] // Progress data for tab 1
$_SESSION['upload_progress_tab2'] // Progress data for tab 2