Бизнес-логика моего приложения:
- Я загружаю
.zip
архив; - Распакуйте его с помощью этого пакета;
- Разбор файлов;
- И следующим шагом будет удаление папки.
Но на последнем шаге произошла ошибка со следующим сообщением:
Я пробовал chmod -R 777
для storage
Laravelкаталог.Но стоит отметить, что это решает мою проблему за одну загрузку.В следующий раз у меня будет тот же каталог с той же проблемой разрешения.
Более подробно расскажу о своем коде.Я использую очереди Laravel.Код:
class RepoService
{
public function saveRepo(UploadedFile $repoFolder): void
{
$originalClientFileName = $repoFolder->getClientOriginalName();
$dirName = str_replace('.zip', '', $originalClientFileName);
$repoFolder->storeAs('uploads', $originalClientFileName);
// adding unpacking, saving and calculating assessment tasks
UnpackRepoJob::withChain([
new SaveRepoTextJob($dirName)
// following tasks is here ...
])->dispatch($dirName);
}
public function deleteRepoFolder(string $name): void
{
Storage::deleteDirectory("/uploads/$name");
}
}
Задачи очереди распаковывают zip
, анализируют файлы и так далее.У меня есть следующий пользовательский интерфейс
После нажатия на кнопку Delete
мне нужно удалить папку из файловой системы.
Путь к каталогу выгрузки /storage/app/uploads
.
Права доступа к файлам:
Как вы думаете, в чем проблема?Может мне нужно дать больше разрешений для www-data
пользователя?