Laravel:获取存储的文件名

Laravel:获取存储的文件名,laravel,Laravel,我正在控制器上使用以下代码存储上传的文件: $stored_file = $request->file('image')->store(Config::get('filesystems.uploads.gallery_dir')); Log::info($stored_file); $stored\u file变量包含文件保存后的完整路径,Laravel中是否有函数仅返回生成的名称?(没有路径) 当前$stored_file返回上传/gallery/wg7Aa4frj8PQkH89

我正在控制器上使用以下代码存储上传的文件:

$stored_file = $request->file('image')->store(Config::get('filesystems.uploads.gallery_dir'));
Log::info($stored_file);
$stored\u file
变量包含文件保存后的完整路径,Laravel中是否有函数仅返回生成的名称?(没有路径)

当前
$stored_file
返回
上传/gallery/wg7Aa4frj8PQkH89oIseMtlpFtruiJNsHTOoretn.jpeg

我想返回
wg7Aa4frj8PQkH89oIseMtlpFtruiJNsHTOoretn.jpeg

您可以使用它来消除不必要的内容:

<?php

  echo str_replace("uploads/gallery/", "", $stored_file); 

?>

使用:
pathinfo($stored_file)['basename']
您可以使用hashName()这样做:

$file = $request->file('image');
$url = $file->store('/posts');
echo $file->hashName();

考虑到Laravel 7.x,当您通过以下方式从请求中获得上传文件时:

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

您将获得一个UploadedFile实例,当您对其调用“store”方法时。它使用md5哈希和名为“hashName”的函数在内部生成一个唯一的名称

因此,如果在UploadedFile实例上调用“hashName”方法,您将获得与laravel在“store”方法调用期间创建的相同的唯一名称


$filename=$request->file('photo')->hashName()

尝试$stored_file->getName(),或使用php函数pathinfo($stored_file)['basename']@irza请将此转换为答案,pathinfo方法可根据需要工作