我正在尝试删除特定文件夹中的所有内容,但它似乎不会影响子文件夹,但它应该,因为bash命令从控制台执行。
system('rm -Rf some_dir/*');
答案 0 :(得分:2)
此命令中没有星号要求。如果要将目录与文件一起删除,也请删除斜杠。保留斜杠将删除文件,但保留目录。
同时检查此页面上的评论:http://php.net/manual/en/function.unlink.php
答案 1 :(得分:1)
这可能是因为执行脚本的用户没有删除目录的权限,或者shell不在正确的目录中。
如果您通过apache运行此程序,则该进程很可能由www-data拥有。如果“some_dir”目录不允许通过www-data进行写访问,那么它将无效。
由于您使用的是相对路径(非常危险),因此需要确保脚本在正确的目录中执行。如果可以的话,我建议您将路径更改为绝对路径 - “rm -rf / path / to / some_dir”。