В Laravel обработка загрузки файлов и их хранение на специальном диске является общим требованием для многих веб-приложений. Извлечение имени файла загруженного изображения из хранилища может быть полезно в различных сценариях. В этой статье мы рассмотрим несколько методов с примерами кода для получения имени загруженного изображения из хранилища в Laravel.
Метод 1: использование метода getClientOriginalName()
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Request;
public function getImageName(Request $request)
{
$imageName = $request->file('image')->getClientOriginalName();
return $imageName;
}
Метод 2: использование функции pathinfo()
use Illuminate\Support\Facades\Storage;
public function getImageName()
{
$filePath = 'storage/app/public/images/image.jpg';
$filename = pathinfo($filePath)['filename'];
return $filename;
}
Метод 3. Извлечение имени файла из полного пути
use Illuminate\Support\Facades\Storage;
public function getImageName()
{
$filePath = 'storage/app/public/images/image.jpg';
$filename = basename($filePath);
return $filename;
}
Метод 4. Использование фасада хранилища Laravel
use Illuminate\Support\Facades\Storage;
public function getImageName()
{
$filePath = 'public/images/image.jpg';
$filename = Storage::disk('local')->url($filePath);
$filename = basename($filename);
return $filename;
}
Метод 5: извлечение имени файла с помощью регулярных выражений
use Illuminate\Support\Facades\Storage;
public function getImageName()
{
$filePath = 'public/images/image.jpg';
$pattern = '/[^\/]+\.[^\/]+$/';
preg_match($pattern, $filePath, $matches);
$filename = $matches[0];
return $filename;
}
В этой статье мы рассмотрели различные методы получения имени загруженного изображения из хранилища в Laravel. Эти методы предоставляют различные подходы к извлечению имени файла, позволяя вам выбрать тот, который лучше всего соответствует потребностям вашего приложения. Используя эти приемы, вы сможете легко работать с загруженными изображениями и выполнять дальнейшие операции на основе их названий.