Es tut mir leid, wenn dies gefragt wurde Ich kann nicht die richtigen Schlüsselwörter in Google suchen. Also entschied ich mich hier in SO zu fragen.quing mehrere Datei hochladen in PHP
gerade jetzt, ich habe eine Upload-Funktion, die in Laravel gebaut ist, wo es auf 20 Bilder gleichzeitig hochladen kann, aber Client möchte 50 Bilder auf einmal sein, so denke ich, dass ich ' t Bearbeiten Sie php.ini immer dann, wenn der Client die maximalen Uploads gleichzeitig erhöhen möchte, da dies den Server beschädigen könnte.
ist es in php möglich, in der Warteschlange wie 10 Bilder für diese zweite nächste Sekunde hochzuladen, sind 10 Bilder wieder, bis der Upload alle erfolgt ist, damit der Server nicht bricht.
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);
}
Wenn ich es richtig mache, ja, ich wette, Sie können eine Zählervariable (zB '$ count = 1;') vor der 'foreach' Schleife setzen und' if ($ count% 10 == 0) {sleep (1); } $ count ++; 'kurz vor dem Ende der 'foreach'-Schleife. Dadurch wird der Prozess nach jedem Satz von 10 Uploads eine Sekunde lang gestoppt und dann die Schleife wiederholt. Aber ich bin mir nicht sicher, ob dies das Limit auslöst. – Zeke