如何在PHP中从文件夹中删除文件

9

我有一个文件夹'items',里面有3个文件item1.txt, item2.txt 和 item3.txt. 我想要从文件夹中删除item2.txt文件。我正在使用以下代码,但它不能从文件夹中删除文件。有没有人可以帮助我。

<?php
        $data="item2.txt";
        $dir = "items";
        $dirHandle = opendir($dir);
        while ($file = readdir($dirHandle)) {
            if($file==$data) {
                unlink($file);
            }
        }

        closedir($dirHandle);

?>    

unlink($dir."/".$data); - Nirav Ranpara
检查所述文件的路径是否正确 - softsdev
@Tahir Yasin 一旦我得到答案,我会接受的。 - xing
6个回答

25

最初该文件夹应具有777权限。

$data = "item2.txt";
$dir = "items";
while ($file = readdir($dirHandle)) {
    if ($file==$data) {
        unlink($dir.'/'.$file);
    }
}

或者尝试一下

$path = $_SERVER['DOCUMENT_ROOT'].'items/item2.txt';
unlink($path);

5

在仅需要删除文件的情况下,不需要使用while循环,您需要将该文件的路径传递给unlink()函数,如下所示。

$file_to_delete = 'items/item2.txt';
unlink($file_to_delete);

请阅读 unlink() 函数的详细信息。

http://php.net/manual/en/function.unlink.php


3

你的代码中存在一个bug,你没有给出正确的路径。

<?php
        $data="item2.txt";    
        $dir = "items";    
        $dirHandle = opendir($dir);    
        while ($file = readdir($dirHandle)) {    
            if($file==$data) {
                unlink($dir."/".$file);//give correct path,
            }
        }    
        closedir($dirHandle);

?>    

@xing 你确定你的路径正确吗?因为你的 PHP 页面目录应该有一个名为“items”的文件夹。 - Sibu

3

这很简单:

$file='a.txt';

    if(unlink($file))
    {
        echo "file named $file has been deleted successfully";
    }
    else
    {
        echo "file is not deleted";
    }

//if file is in other folder then do as follows

unlink("foldername/".$file);

2
如果($file==$data) { 删除文件( $dir .'/'. $file); }

1

尝试将其重命名为垃圾桶或服务器可以访问的临时文件夹**除非它是敏感数据。

rename($old, $new) or die("Unable to rename $old to $new.");

$变量是自我解释的。 - Louis Loudog Trottier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接