Прошу прощения, если это было задано. Я не могу найти правильные ключевые слова для поиска в google. Поэтому я решил спросить здесь в SO.queries многократная загрузка файла в php
прямо сейчас, у меня есть функция загрузки, которая встроена в laravel, где она может загружать до 20 изображений за раз, но клиент хотел бы, чтобы это было 50 изображений за раз, поэтому я думаю, t редактировать php.ini каждый раз, когда клиент хочет увеличить максимальную загрузку в то же время, потому что это может сломать сервер.
возможно в php для загрузки в очередь, как 10 изображений для этой второй следующей секунды, это 10 изображений снова, пока загрузка не будет выполнена, чтобы сервер не сломался.
foreach ($request->file('image') as $key => $file)
{
$filename = md5(time() . uniqid()) . '.' . $file->getClientOriginalExtension();
$imagesize = getimagesize($file);
if(($imagesize[0] == 533 && $imagesize[1] == 800) == false &&
($imagesize[0] == 800 && $imagesize[1] == 533) == false
) {
$error++;
continue;
}
$file->move('uploads', $filename);
$data['image'] = url('uploads/' . $filename);
$order_id = 1;
$count = PropertyImages::where('property_id', $id)->count();
if($count > 23)
{
return response()->json(['success' => false, 'msg' => 'Images must not exceed 24']);
}
$image = PropertyImages::where('property_id', $id)->orderBy('order_id', 'DESC')->first();
if($image)
{
$order_id = $image->order_id + 1;
}
$item = PropertyImages::create([
'property_id' => $id,
'filename' => $filename,
'order_id' => $order_id
]);
$items[$key]['id'] = $item->id;
$items[$key]['filename'] = url('uploads/' . $item->filename);
}
Если я понял, что да, я уверен, вы можете установить переменную счетчика (т.е. '$ count = 1;') перед циклом 'foreach' и делать' if ($ count% 10 == 0) {sleep (1); } $ count ++; 'непосредственно перед концом цикла foreach. Это остановит процесс на секунду после каждого набора из 10 загрузок, а затем повторит цикл. Но я не уверен, что это не вызовет ограничения. – Zeke