2016-01-07 6 views
2

При попытке удалить каталог в Laravel 5.1, как это:Laravel удалить каталог

use Storage; 

public function deleteUser(Request $request) 
{ 
    $user = User::find($request->id); 
    Storage::deleteDirectory('/files/'.$user->id); 
    $user->delete(); 
    $user->websites()->delete(); 
    return redirect('/')->with('status','Customer removed'); 
} 

каталог не уходит. Но пользователь успешно удаляется.

Вот документация:

https://laravel.com/docs/5.2/filesystem#deleting-files

Почему это не работает?

+0

сначала проверьте разрешение на удаление этого каталога. –

+0

Если разрешения правильные, я бы сказал, что что-то с вашим путем неверно. Вы можете попробовать перечислить все каталоги, чтобы узнать, правильный ли ваш путь. Попробуйте '$ directories = Storage :: directories ('/ files /');' и 'dd ($ directories)' для вывода всех каталогов внутри '/ files /' –

+0

, как указано разрешениями @ImtiazPabel, может вызвать проблему. проверьте журнал и посмотрите, не видите ли вы ошибку для каких-либо разрешений. чтобы проверить, вызваны ли проблемы разрешения chmod -R 777 files/ –

ответ

0
function deleteDirectory($dir) { 
    File::cleanDirectory($path); 
    Storage::deleteDirectory($path); 
    rmdir($path); 
} 
0

Я был застрял в команде Storage: deleteDirectory. Позже я узнал, что это можно легко сделать с помощью следующей команды:

use Illuminate\Support\Facades\File;File::deleteDirectory('/Users/zawad/web/storage/app/sleepdata/DirectoryToBeDeleted');

Аргумент абсолютный путь к каталогу, который должен быть удален. Вы можете найти корень пути, запустив команду pwd в терминале.

Смежные вопросы