Метод getClientOriginalName
Метод getClientOriginalName применяется к объекту UploadedFile,
который представляет загруженный файл в Laravel. Этот метод возвращает
исходное имя файла, которое было на компьютере пользователя в момент
выбора файла через форму. Метод не принимает параметров и возвращает
строку с оригинальным именем файла.
Синтаксис
<?php
$file->getClientOriginalName();
?>
Пример
Давайте получим оригинальное имя загруженного файла из запроса:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class FileController extends Controller
{
public function upload(Request $request)
{
$file = $request->file('document');
$originalName = $file->getClientOriginalName();
echo $originalName;
}
}
?>
Результат выполнения кода при загрузке файла "report.pdf":
"report.pdf"
Пример
Давайте используем оригинальное имя для сохранения файла с префиксом:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use IlluminateSupportFacadesStorage;
class FileController extends Controller
{
public function upload(Request $request)
{
$file = $request->file('image');
$originalName = $file->getClientOriginalName();
$newName = 'user_' . time() . '_' . $originalName;
$path = $file->storeAs('uploads', $newName);
echo $path;
}
}
?>
Результат выполнения кода при загрузке файла "avatar.jpg":
"uploads/user_1678901234_avatar.jpg"
Пример
Давайте проверим оригинальное имя файла на соответствие допустимым расширениям:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class FileController extends Controller
{
public function upload(Request $request)
{
$file = $request->file('document');
$originalName = $file->getClientOriginalName();
$extension = strtolower($file->getClientOriginalExtension());
$allowedExtensions = ['pdf', 'doc', 'docx'];
if (!in_array($extension, $allowedExtensions)) {
echo "File " . $originalName . " has invalid extension";
return;
}
echo "File " . $originalName . " is valid";
}
}
?>
Результат выполнения кода при загрузке файла "document.pdf":
"File document.pdf is valid"
Смотрите также
-
метод
store,
который сохраняет загруженный файл в хранилище -
метод
storeAs,
который сохраняет файл с указанным именем -
метод
extension,
который возвращает расширение файла -
метод
getClientOriginalExtension,
который возвращает оригинальное расширение файла