Чтобы прочитать несколько расширений файлов в Laravel, вы можете использовать различные подходы в зависимости от ваших конкретных требований. Вот несколько методов с примерами кода:
Метод 1: использование фасада Storage
use Illuminate\Support\Facades\Storage;
$fileExtensions = ['txt', 'csv', 'pdf'];
$files = [];
foreach ($fileExtensions as $extension) {
$files = array_merge($files, Storage::files('path/to/files', function ($filePath) use ($extension) {
return pathinfo($filePath, PATHINFO_EXTENSION) === $extension;
}));
}
// $files now contains an array of file paths with the specified extensions
Метод 2: использование фасада File
use Illuminate\Support\Facades\File;
$fileExtensions = ['txt', 'csv', 'pdf'];
$files = [];
foreach ($fileExtensions as $extension) {
$files = array_merge($files, File::glob('path/to/files/*.' . $extension));
}
// $files now contains an array of file paths with the specified extensions
Метод 3: использование RecursiveDirectoryIterator
$fileExtensions = ['txt', 'csv', 'pdf'];
$files = [];
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('path/to/files', RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($iterator as $file) {
$extension = $file->getExtension();
if (in_array($extension, $fileExtensions)) {
$files[] = $file->getPathname();
}
}
// $files now contains an array of file paths with the specified extensions