Я хочу удалить файлы с сервера по идентификаторам базы данных. Я пытаюсь сделать это в петле foreach. Удаление одного файла в порядке, но когда пользователь отправляет несколько файлов (по флажку), мой цикл удаляется только первым.Laravel, несколько файлов, удаленных в foreach
public function postSil(Request $request)
{
$ids = $request->input('sil');
foreach($ids as $id)
{
$file = File::find($id)->first();
$path = public_path().'/rea-files/'.$file->rea_number.'/'.$file->file_name;
\File::delete($path);
// echo 'id';
}
//return 1;
File::destroy($ids); //this is model file.
return redirect()->back();
}
Как вы можете видеть, я попробовал, если цикл Еогеасп работает хорошо, размещенное эхо и вернуться, и я вижу цикл Еогеаспа работает, но только удаляю первый файл.
Вы проверили, что пути к файлам верны во всей итерации цикла foreach? –
Сделайте некоторые проверки как ниже 'if (! \ File :: exists ($ path)) {dd ($ path); } 'Это будет печатать путь, если нет файла для данного пути –