Как загрузить tmp_name загруженного файла в Laravel 5.0

Используя Laravel 5, я пытался загрузить загруженный файл и переместить его, используя фасад файловой системы, чтобы получить прибыль от мощности flysystem, используемой Laravel.

Проблема в том, что даже если я пытаюсь получить путь, tmp_name, diskname или свойство wathever, которое будет представлять $ _FILES [файл] [tmp_name], я не могу получить доступ к нему!

Я не хочу использовать $ _FILES, поскольку это противоречит лучшим практикам, и если что-то изменится, это не будет работать больше, поэтому я действительно хочу использовать:

$request->file('import') 

для доступа к моему импортированному файлу.

В классе UploadedFile существует метод перемещения, но мне нужно установить локальный путь, который не обязательно в этом случае. Тогда есть переход meethod в контракт FileSystem, но он запрашивает локальный путь, который я не знаю о причине, я не могу найти локальное имя tmp_ UploadedFile …

Как бы я это сделал, я действительно потерялся здесь.

Почему я всегда нахожу свой ответ после публикации вопроса …

Ответ на этот вопрос прост, используйте функции SplFileInfo:

Объект, возвращаемый методом файла, является экземпляром класса Symfony \ Component \ HttpFoundation \ File \ UploadedFile, который расширяет класс PHP SplFileInfo и предоставляет множество методов для взаимодействия с файлом.

Таким образом, вы можете сделать

 $request->file('import')->getPathName() 

И он вернет ваш местный путь!