【发布时间】:2015-09-07 06:10:31
【问题描述】:
我正在尝试删除一个包含所有内容的文件夹。但这似乎不起作用。我尝试了很多不同的方法。谁能告诉我我做错了什么?
<?php
$path = $_POST['Name'];
session_start();
$dir = __DIR__ . "$path";
$di = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS);
$ri = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CHILD_FIRST);
foreach ( $ri as $file ) {
$file->isDir() ? rmdir($file) : unlink($file);
}
echo "<h1 style='font:normal;'>The Account $path Was deleted</h1>";
?>
【问题讨论】:
-
为什么不在删除之前
echo $file;看看您要删除的内容?我似乎记得这些迭代器返回一个对象数组,而不是字符串数组(它们可能有一个神奇的 toString 值,但请查看文档以确认)。 -
另外,检查你的删除命令的返回值——它们应该返回一个成功的布尔值。我认为如果删除失败,您的代码应该停止并报告错误。
标签: php recursion delete-file directory