Поэтому я пытаюсь загрузить несколько файлов,
Контролирую файлы, загруженные пользователем через SESSION
переменная в CodeIgniter, установив переменную сеанса для хранения имени файла каждый раз при загрузке файла и объединение его с прежними именами файлов, если таковые имеются, создавая таким образом массив файлов, загруженных пользователем в отдельном сеансе.
И вот что у меня есть …
if (!$this->upload->do_upload("user_file")) {
//I do stuff that handles the failure
}else{
$data = $this->upload->data();
//
//Grab the TEMP file
$array[] = array('filename'=>$data['file_name']);
//Add the temp file to the session
if($this->session->userdata('uploaded_files')){
$temp_file = $this->session->userdata('uploaded_files');
$this->session->set_userdata('uploaded_files',array_merge($array,$temp_file));
}else{
//no need to merge since its the first one
$this->session->set_userdata('uploaded_files',$array);
}
}
Моя проблема в том, что когда PHP получает несколько запросов одновременно, он обрабатывает только первый в очереди
И когда я даю ему один запрос за раз, он берет их все
Так что у меня нет гарантии, что файлы будут загружены в разное время, э-э-э … как я могу сделать так, чтобы в моем массиве были загружены все имена файлов без учета времени окончания, возможно, использование сессии не очень хороший подход ?
PS: На стороне сервера есть все мои файлы, в том числе те, которые не попали в массив загружаемых файлов
Вы можете получить имена файлов из переменной $ _FILES, используя индекс ‘name’ (например, $ _FILES [‘myfile1’] [‘name’]).
Других решений пока нет …