微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Laravel不删除目录

我在删除目录时遇到问题.

我正在创建一个临时目录,我解压缩文件,我想在完成后删除它.

我的代码看起来非常像这样:

$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 举报,一经查实,本站将立刻删除。

相关推荐