Загрузка нескольких файлов в Laravel - PullRequest
0 голосов
/ 01 мая 2018

Я пытался загрузить несколько файлов в Laravel. В Stackoverflow есть несколько решений этой проблемы, но у меня нет ни одного.

Это мой метод хранения:

public function bulkstore(Request $request)
    {
        foreach ($request->file_name as $file) {

            if ($request->hasFile('file')) {
                $fileNameWithExt = $request->file('file')->getClientOriginalName();
                $fileName = pathinfo($fileNameWithExt, PATHINFO_FILENAME);
                $extenstion = $request->file('file')->getClientOriginalExtension();
                $fileNameToStore = $fileName.'.'.$extenstion;
                $path = $request->file('file')->storeAs('public/images', $fileNameToStore);
            }

            File::create([
                'file_name' => $fileNameToStore,
            ]);
        }

        return redirect('/file');
    }

Я получаю эту ошибку:

Неопределенная переменная: fileNameToStore

Этот метод работает для одного файла, но не для нескольких файлов. Любое предложение?

1 Ответ

0 голосов
/ 01 мая 2018

Вы можете попробовать вот так

$files = $request->file('file');
if($request->hasFile('file'))
{
    foreach ($files as $file) {
        $fileNameWithExt = $file->getClientOriginalName();
        $fileName = pathinfo($fileNameWithExt, PATHINFO_FILENAME);
        $extenstion = $file->getClientOriginalExtension();
        $fileNameToStore = $fileName.'.'.$extenstion;
        $path = $file->storeAs('public/images', $fileNameToStore);
        File::create([
            'file_name' => $fileNameToStore,
        ]);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...