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方法可根据需要工作