如何使用PHP删除空文件夹
即使文件夹是空的,也可以通过什么方式删除这些文件。您必须确保您的Web服务器能够删除这些文件。检查权限 您必须确保您的Web服务器能够删除这些文件。检查权限 只需在while循环中递归使用rmdirr函数,而不是取消链接如何使用PHP删除空文件夹,php,Php,即使文件夹是空的,也可以通过什么方式删除这些文件。您必须确保您的Web服务器能够删除这些文件。检查权限 您必须确保您的Web服务器能够删除这些文件。检查权限 只需在while循环中递归使用rmdirr函数,而不是取消链接 Warning: unlink(TEST//New Folder) [function.unlink]: Permission denied in E:\Xampp\xampp\htdocs\delete_FILE\delete_FILE.php on line 23
Warning: unlink(TEST//New Folder) [function.unlink]: Permission denied
in E:\Xampp\xampp\htdocs\delete_FILE\delete_FILE.php on line 23
Warning: rmdir(TEST/) [function.rmdir]: Directory not empty in
E:\Xampp\xampp\htdocs\delete_FILE\delete_FILE.php on line 28
这样,它还可以处理非空的子文件夹…只需在while循环中递归使用rmdirr函数,而不是取消链接
Warning: unlink(TEST//New Folder) [function.unlink]: Permission denied
in E:\Xampp\xampp\htdocs\delete_FILE\delete_FILE.php on line 23
Warning: rmdir(TEST/) [function.rmdir]: Directory not empty in
E:\Xampp\xampp\htdocs\delete_FILE\delete_FILE.php on line 28
这样,它还将处理非空的子文件夹…您仅在1级中删除文件。您的代码尝试使用
unlink
而不是rmdir
删除文件夹TEST//New folder
。您必须检查它是否是文件夹,然后rmdir
或取消链接
它。您仅在1级中删除文件。您的代码尝试使用unlink
而不是rmdir
删除文件夹TEST//New folder
。您必须检查它是否是文件夹,然后rmdir
或取消链接
它。我正在本地机器上工作。请告诉我如何检查您的标准?您必须检查相关文件夹属性的安全选项卡。我正在本地计算机上工作。请告诉我如何检查您的标准?您必须检查相关foldersKeep属性的安全选项卡,记住$dirname=“TEST/”顶部的代码>行防止递归使用该函数。我尝试了你的代码,但它没有按照我的规范工作。我使用它时发生了以下错误。致命错误:在第26行的E:\Xampp\Xampp\htdocs\delete_FILE\delete_FILE.php中调用未定义的函数rmdirr(),请记住顶部的代码>行防止递归使用该函数。我尝试了你的代码,但它没有按照我的规范工作。我使用它时发生了以下错误。致命错误:在第26行的E:\Xampp\Xampp\htdocs\delete_FILE\delete_FILE.php中调用未定义的函数rmdirr(),检查kkyy的答案。。他修复了它:)我试过kkyy的代码,它不符合我的规范。我使用它时发生了以下错误。致命错误:在第26行的E:\Xampp\Xampp\htdocs\delete\u FILE\delete\u FILE.php中调用未定义的函数rmdirr(),确保函数名为rmdirr
。如果您更改了它,那么您还需要在它显示//Recurse
的行中更改它。检查kkyy的答案。。他修复了它:)我试过kkyy的代码,它不符合我的规范。我使用它时发生了以下错误。致命错误:在第26行的E:\Xampp\Xampp\htdocs\delete\u FILE\delete\u FILE.php中调用未定义的函数rmdirr(),确保函数名为rmdirr
。如果您更改了它,那么您还需要在它显示//Recurse
的行中更改它。
function rmdirr($dirname){
// Sanity check
if (!file_exists($dirname)) { return false; }
// Simple delete for a file
if (is_file($dirname)) { return unlink($dirname); }
// Loop through the folder
$dir = dir($dirname);
while (false !== $entry = $dir->read()) {
// Skip pointers
if ($entry == "." || $entry == "..") { continue; }
// Recurse
rmdirr("$dirname/$entry");
}
// Clean up
$dir->close();
return rmdir($dirname);
}