file io — Состояние гонки с одновременной загрузкой в ​​Stack Overflow

Мой обработчик запросов PHP выглядит так:

// it's one file only, always
foreach($_FILES as $file){

// error checks, move etc.
if(!move_uploaded_file ...

// assemble if the number of files match the total number of parts
$numFiles = count(glob("{$tempDir}/*", GLOB_NOSORT));

if($numFiles === $totalChunks){     // <- problem
// assemble file
}

}

Похоже, что если две части прибывают одновременно, это условие выполняется дважды.

Есть ли способ загрузить файл порциями, скажем, по 3, и избежать условия гонки при сборке файла на стороне PHP?

Я думал «спать» в течение ~ 5 секунд внутри цикла, когда последняя часть загружена (например, № 3 из 3). В цикле я продолжал делать проверку, пока не прибудут все остальные части. Но что, если связь разрывается, а они нет? 🙂

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]