Так что это похоже на довольно элементарную вещь, но я не могу найти много документации в Интернете о том, что происходит …
Я пытаюсь запустить список файлов с помощью Laravel 5.1, и я могу только возвращать / обрабатывать / видеть первый файл. Я использую Postman для отправки запроса в API (так что я знаю, что multiple
включена в запросе POST
), а затем повторяя это несколькими способами:
public function files(Request $request) { foreach($request->files as $file) { var_dump($file); } }
даже:
public function files() { foreach($_FILES['files'] as $file) { var_dump($file); } }
Я всегда возвращаю (или объектную форму, если используется метод $request->files
):
string 'Screen%20Shot%202015-10-23%20at%2010.07.23%20AM.png' (length=51) string 'image/png' (length=9) string '/tmp/phpZw1ALu' (length=14) int 0 int 13687
Почему это происходит? Что я могу сделать, чтобы увидеть несколько файлов в контроллерах Laravel 5.1?
Поэтому я сделал новую страницу со следующим кодом под названием files.php
и теперь он возвращает все три файла (или сколько бы я ни загружал):
<!DOCTYPE> <html> <body> <form method="post" enctype="multipart/form-data" action="http://lucolo.dev/files"> <input type="file" name="files[]" multiple> <input type="submit" value="Upload"> </form> </body> </html>
Ошибка заключалась в том, что у меня был POST
запрос в Postman, только принимающий параметр с именем files
вместо files[]
. Как только это было изменено, код в моем контроллере Laravel:
public function files(Request $request) { foreach($request->files as $file) { var_dump($file); } }
теперь возвращается:
array (size=3) 0 => object(Symfony\Component\HttpFoundation\File\UploadedFile)[84] private 'test' => boolean false private 'originalName' => string 'Screen Shot 2015-10-23 at 10.07.23 AM.png' (length=41) private 'mimeType' => string 'image/png' (length=9) private 'size' => int 270504 private 'error' => int 0 private 'pathName' (SplFileInfo) => string '/tmp/php1M5ZJl' (length=14) private 'fileName' (SplFileInfo) => string 'php1M5ZJl' (length=9) 1 => object(Symfony\Component\HttpFoundation\File\UploadedFile)[85] private 'test' => boolean false private 'originalName' => string 'Screen Shot 2015-10-26 at 7.28.59 PM.png' (length=40) private 'mimeType' => string 'image/png' (length=9) private 'size' => int 13687 private 'error' => int 0 private 'pathName' (SplFileInfo) => string '/tmp/phpE22ubf' (length=14) private 'fileName' (SplFileInfo) => string 'phpE22ubf' (length=9) 2 => object(Symfony\Component\HttpFoundation\File\UploadedFile)[86] private 'test' => boolean false private 'originalName' => string 'Screen Shot 2015-10-27 at 2.50.58 PM.png' (length=40) private 'mimeType' => string 'image/png' (length=9) private 'size' => int 786350 private 'error' => int 0 private 'pathName' (SplFileInfo) => string '/tmp/phph8v0C8' (length=14) private 'fileName' (SplFileInfo) => string 'phph8v0C8' (length=9)
Надеюсь, что кто-то поможет!