2013-09-20 6 views
0

PHP documentation не объясняет, что происходит, когда в один и тот же сеанс одновременно загружаются два файла (две загрузки выполняются на двух вкладках браузера).Выполнение загрузки сеанса PHP и одновременная загрузка

Есть ли способ отслеживать ход обеих загрузок? Является ли первый статус загрузки потерянным, когда начинается второй?

Спасибо!

+0

Вы хотите отслеживать прогресс как на одной вкладке, так и в каждом файле, отслеживаемом на загруженной вкладке? – Mauro

+0

Я хотел бы придумать что-то, что позволяет мне отслеживать каждую загрузку файла на соответствующей вкладке. – krau

+0

Итак ... вы хотите отслеживать ход загрузки на стороне клиента? – Mauro

ответ

1

Да, можно контролировать состояние на два разных загрузке в разном вкладки с использованием функции загрузки сеанса PHP. Все, что вам нужно сделать, - сделать имя прогона загрузки разным в обеих формах, изменив параметр 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> 

Теперь, когда вы создали двух разных сессий выполнения загрузки, вы можете получить данные о ходе на стороне PHP следующим образом:

$_SESSION['upload_progress_tab1'] // Progress data for tab 1 
$_SESSION['upload_progress_tab2'] // Progress data for tab 2 
0

Этот пример может работать для вас:

http://www.johnboy.com/php-upload-progress-bar/ 

Вам нужен клиентский код (JS) и немного PHP

+0

Я хорошо знаю, что существуют разные подходы к достижению того, что я просил, но вопрос не в том, «есть ли альтернативный способ сделать это?» ... Это больше похоже на «как этот метод справляется с этой ситуацией? ?» – krau

 Смежные вопросы

  • Нет связанных вопросов^_^