gpt4 book ai didi

php - 用 PHP 删除 __MACOSX 文件夹?

转载 作者:行者123 更新时间:2023-12-04 02:24:36 26 4
gpt4 key购买 nike

有没有人有过用 PHP 删除 __MACOSX 文件夹的经验?

该文件夹是在我解压缩存档后生成的,但我似乎无法删除它。

is_dir 函数在文件上返回 false,使递归删除脚本失败(因为存档内部是“临时”文件)所以目录不为空。

我在 PHP5 中使用内置的 ZipArchive 类(extractTo 方法)。

我使用的 rmdir 脚本是我在 php.net 上找到的脚本:

<?php
// ensure $dir ends with a slash
function delTree($dir) {
$files = glob( $dir . '*', GLOB_MARK );
foreach( $files as $file ){
if( substr( $file, -1 ) == '/' )
delTree( $file );
else
unlink( $file );
}
rmdir( $dir );
}
?>

最佳答案

我从 http://www.php.net/rmdir 中找到了该函数的改进版本这需要 PHP5。

  • 此函数使用 DIRECTORY_SEPARATOR 而不是 /。 PHP 将 DIRECTORY_SEPARATOR 定义为运行操作系统的正确字符(“/”或“\”)。
  • 目录位置不需要以斜杠结尾。
  • 函数在完成时返回 truefalse
function deleteDirectory($dir) {
if (!file_exists($dir)) return true;
if (!is_dir($dir)) return unlink($dir);
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
if (!deleteDirectory($dir.DIRECTORY_SEPARATOR.$item)) return false;
}
return rmdir($dir);
}

关于php - 用 PHP 删除 __MACOSX 文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1365238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com