2016-10-14 2 views
3

Как использовать следующие PHP $ _FILES, используя объект запроса Laravel? (я использую Laravel 5.3)Обработка загрузки файла в контроллере Laravel

$_FILES["FileInput"] 
$_FILES["FileInput"]["size"] 
$_FILES['FileInput']['type'] 
$_FILES['FileInput']['name'] 
$_FILES['FileInput']['tmp_name'] 

У любого есть идея, работающая над этим, прежде чем это было бы очень оценено. Спасибо!

ответ

5

Извлечение загруженных файлов на

Вы можете получить доступ загруженные файлы из экземпляра запроса Осветите \ Http \ с помощью метода файла или с использованием динамических свойств. Метод файла возвращает экземпляр Illuminate \ Http \ UploadedFile класса, который расширяет класс PHP SplFileInfo и предоставляет множество методов для взаимодействия с файлом:

$file = $request->file('photo'); 

$file = $request->photo; 

Вы можете определить, если файл присутствует на запрос с использованием метода hasFile:

if ($request->hasFile('photo')) { 
    // 
} 

Неактивированные могли успешно

в дополнение к проверке, если файл присутствует, вы можете убедиться в том, что не было никаких проблем не UPLO ADING файла через IsValid метода:

if ($request->file('photo')->isValid()) { 
    // 
} 

File Paths & Расширение

Класс UploadedFile также содержит методы для получения доступа полного пути к файлу и его расширения. Метод расширения попытается угадать расширение файла на основе его содержимого. Это расширение может отличаться от расширения, которое поставляется клиентом:

$path = $request->photo->path(); 

$extension = $request->photo->extension(); 

Чтобы получить имя файла

$filename= $request->photo->getClientOriginalName(); 

Ref: https://laravel.com/docs/5.3/requests

Пример

$file = $request->file('photo'); 

//File Name 
$file->getClientOriginalName(); 

//Display File Extension 
$file->getClientOriginalExtension(); 

//Display File Real Path 
$file->getRealPath(); 

//Display File Size 
$file->getSize(); 

//Display File Mime Type 
$file->getMimeType(); 

//Move Uploaded File 
$destinationPath = 'uploads'; 
$file->move($destinationPath,$file->getClientOriginalName()); 
+0

Спасибо за все рыбы! .. Я это ценю. – victor

+0

@ victor.Glad, чтобы услышать, что это помогло вам – iCoders

+1

Итак, я предполагаю, что файл -> («фото») - это файл («FileInput») в моем примере, приведенный здесь. Правильно? .. «photo» - это имя значение атрибута .. правильно? – victor

Смежные вопросы