Я хотел посчитать, сколько изображений находится в каталоге хранилища, но, похоже, Storage::Files
не нашел ни одного из них, я сохранил 4 изображения в storage\app\public\property\*id_of_the_property*
, и я уже извинился php artisan storage:link
и ссылкуработают отлично, по крайней мере на первый взгляд.
Вот мой config\FilesSystems.php
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
],
],
И мой контроллер:
public function show($id)
{
$show = [];
$directory = 'property/'.$id;
$files = Storage::Files($directory);
$count = count($files);
$show['count'] = $count;
$show['directory'] = $directory;
return $show;
}
А вот переменная $show['count']
отображает 0, когда должно быть 4, а Storage::Files
ничего не делает, поскольку $show['directory']
показывает "свойство / 1", а 1 - это идентификатор, с которым я тестирую.Чего мне не хватает?
Я пытался использовать:
$directory = Storage::url('property/'.$id);
/* Result "/storage/property/1" */
$directory = Storage::url('app/public/property/'.$id);
/* Result "/storage/app/public/property/1" */
или
$directory = Storage_path('property\\'.$id);
/* Result "D:\\xampp\\htdocs\\www\\APP\\storage\\property\\1" */
$directory = Storage_path('app/public/property/'.$id);
/* Result "D:\\xampp\\htdocs\\www\\APP\\storage\\app\\public\\property\\1" */
, но безуспешно, счет по-прежнему равен 0.
Спасибо за помощь.