【发布时间】:2016-04-11 21:29:51
【问题描述】:
当我尝试像这样在 Laravel 5.1 中删除目录时:
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');
}
目录不会消失。但用户已成功删除。
这是文档:
为什么这不起作用?
【问题讨论】:
-
首先检查删除该目录的权限。
-
如果权限正确,我会说你的路径有问题。您可以尝试列出所有目录以查看您的路径是否正确。尝试
$directories = Storage::directories('/files/');和dd($directories)输出/files/内的所有目录 -
如@ImtiazPabel 所述权限可能会导致问题。检查日志,看看您是否看到没有权限的错误。测试权限是否导致问题 chmod -R 777 files /
-
我同意@SariYono 首先检查文件权限,您的项目错误日志。如果在您的项目日志中没有发现任何错误,请检查您的服务器错误日志。
-
我遇到了同样的问题,先尝试清理目录。使用:存储::cleanDirectory($directory);存储之前::deleteDirectory();