php - 将文件移动到回收站 (PHP)

标签 php windows file

这个问题与 PHP5 的 Windows 安装有关。

做一个文件unlink() 使得恢复变得困难。

相反,我想将文件移动到回收站(不执行 exec())。

你有什么想法吗?

感谢您的帮助。

最佳答案

这是唯一可行的解​​决方案,并且可移植到所有驱动器中。

function Recycle($filename)
{
    if (is_file($filename) === true)
    {
        $filename = realpath($filename);
        $recycle = glob(current(explode('\\', $filename, 2)) . '\\RECYCLER\\*', GLOB_ONLYDIR);

        if (is_array($recycle) === true)
        {
            return rename($filename, current($recycle) '\\' . basename($filename));
        }
    }

    return false;
}

删除的文件被正确移动到例如:

O:\RECYCLER\S-1-5-21-1715567821-1390067357-1417001333-1003

应该可以从回收站恢复,但我没有测试过。

编辑:我刚刚更新了此函数以处理具有相对路径的文件。

关于php - 将文件移动到回收站 (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1271099/

相关文章:

Python 替换 >20GB 文本文件中的一行

php - PDO 异常,重复条目。当我尝试在 magento 中重新索引我的数据时

php - 从一个 mysql 查询在 foreach 循环中返回两个 SUM 结果

java - 从有条件的文本文件中读取

windows - 从 vbscript 获取 bat 中的错误级别

windows - 软件(编译或解释)如何到达最终用户?

c - 如何将行号转换为字节偏移量?

php - Swiftmailer 和 Symfony2

php - 如何在 PHP 中生成正确的 CRAM-MD5 响应?

windows - 为什么 time.sleep() 在 Windows 中这么慢?