Как загрузить несколько файлов в Laravel 5.3
. Если я попробую его с 1 изображением, он работает, но несколько изображений не загружаются.
Это мой код:
if($request->hasFile('attachment')) { foreach ($request->allFiles('attachments') as $file) { $file->store('users/' . $user->id . '/messages'); } }
Теперь он работает следующим образом:
$files = $request->file('attachment'); if($request->hasFile('attachment')) { foreach ($files as $file) { $file->store('users/' . $this->user->id . '/messages'); } }
Мне пришлось добавить []
после значения атрибута name
, так что:
<input type="file" name="attachment[]" multiple>
Попробуйте что-то вроде этого:
public function multiple_upload() { // getting all of the post data $files = Input::file('images'); // Making counting of uploaded images $file_count = count($files); // start count how many uploaded $uploadcount = 0; foreach($files as $file) { $rules = array('file' => 'required'); //'required|mimes:png,gif,jpeg,txt,pdf,doc' $validator = Validator::make(array('file'=> $file), $rules); if($validator->passes()){ $destinationPath = 'uploads'; $filename = $file->getClientOriginalName(); $upload_success = $file->move($destinationPath, $filename); $uploadcount ++; } } }
Загрузка нескольких файлов в laravel – Документация