我正在从文件夹中获取一个文件名数组,就像这样...
$files = File::allFiles('myfolder/');
但是生成的数组也包含了路径名。
有没有一种方法只得到文件名的数组?还是我需要处理每个数组项并从中提取文件名?
$files = File::allFiles('myfolder/');
但是生成的数组也包含了路径名。
有没有一种方法只得到文件名的数组?还是我需要处理每个数组项并从中提取文件名?
还有另一种获取文件名的方法:
public function index() {
$filesInFolder = \File::files('folder');
foreach($filesInFolder as $path) {
$file = pathinfo($path);
echo $file['filename'] ;
}
}
pathinfo将为您提供输出:
{ "dirname":"file_path", "basename":"file_name.file_extension", "extension":"file_extension", "filename":"file_name" }
希望能对您有所帮助:
public function parse() {
$fileNames = [];
$path = public_path('other');
$files = \File::allFiles($path);
foreach($files as $file) {
array_push($fileNames, pathinfo($file)['filename']);
}
dd($fileNames);
}
尝试使用 Laravel 存储 API:
use Illuminate\Support\Facades\Storage;
//...
$files = Storage::disk('diskName')->allFiles('folderName');
$fileNames = array_map(function($file){
return basename($file); // remove the folder name
}, $files);