我在删除目录时遇到问题.
我的代码看起来非常像这样:
$tempPath = storage_path('temp/'.$filemd5.'/');
Storage::makeDirectory($tempPath);
$success = Storage::deleteDirectory($tempPath);
return $success;
解决方法:
也许您对存储/应用程序目录(我认为是默认目录)没有足够的权限.检查一下,如果这不起作用,你总是可以诉诸PHP exec函数(假设你在Linux上):
exec(‘rm -r’.storage_path().’/’.$tempPath)
更新:问题是makeDirectory有第二个int参数,默认情况下将权限设置为511,即-r-x-x-x(即读取和执行,但不写入).解决方法是将第二个参数设置为711,即-rwx – x – x,您将能够删除创建的目录.将另外两个参数作为true传递是有用的,因为它将递归地应用权限,并强制执行操作.
正如Alex所说,你必须使用File而不是Storage.因此,以后您可以删除的创建目录的最终代码是:
File::makeDirectory($tempPath, 0711, true, true);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。