我正在尝试删除特定文件夹中的所有内容,但似乎不会影响子文件夹,但它应该会影响,因为bash命令可以从控制台执行。
system('rm -Rf some_dir/*');
在这个命令中不需要使用星号。如果您想连同文件一起删除目录,请同时删除斜杠。保留斜杠将删除文件,但保留目录。
还要查看此页面上的注释:http://php.net/manual/en/function.unlink.php
rm -R somedir/
将删除带有文件的目录。 - Mikl可能是因为执行脚本的用户没有删除目录的权限,或者shell不在正确的目录中。
如果您通过apache运行此脚本,则该进程很可能由www-data拥有。如果“some_dir”目录不允许www-data进行写访问,则无法正常工作。
由于您使用了相对路径(非常危险),因此需要确保脚本在正确的目录中执行。如果可以的话,建议您将路径更改为绝对路径 - “rm -rf /path/to/some_dir”。
unlink
和/或rmdir
调用呢?在无法保证system
可用性的情况下,它似乎对我来说有点过头了... - prodigitalson