Метод hasFile
Метод hasFile применяется к объекту запроса Request
и возвращает true, если в запросе присутствует загруженный
файл по указанному ключу, и false в противном случае.
Метод проверяет не только наличие ключа в массиве загруженных
файлов, но и успешность загрузки каждого файла.
Первым параметром передаётся имя поля ввода.
Синтаксис
<?php
$request->hasFile($key);
?>
Пример
Давайте проверим, был ли загружен файл с полем 'avatar'
в запросе:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function updateAvatar(Request $request)
{
if ($request->hasFile('avatar')) {
echo "Файл загружен";
} else {
echo "Файл не загружен";
}
}
}
?>
Пример
Давайте проверим несколько полей загрузки в одном запросе:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class DocumentController extends Controller
{
public function upload(Request $request)
{
if ($request->hasFile('photo')) {
$photo = $request->file('photo');
echo "Фото загружено: " . $photo->getClientOriginalName();
}
if ($request->hasFile('document')) {
$document = $request->file('document');
echo "Документ загружен: " . $document->getClientOriginalName();
}
}
}
?>
Пример
Давайте выполним загрузку файла и сохраним его в хранилище только после успешной проверки:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateSupportFacadesStorage;
class FileController extends Controller
{
public function store(Request $request)
{
if ($request->hasFile('image')) {
$path = $request->file('image')->store('images', 'public');
echo "Файл сохранён по пути: " . $path;
} else {
echo "Файл не найден";
}
}
}
?>