如何从php中的文件夹中删除文件

时间:2012-11-22 07:29:17

标签: php file delete-file

我有一个文件夹'items',其中有3个文件item1.txt, item2.txt and item3.txt. 我想从文件夹中delete item2.txt文件。我使用以下代码,但它不从文件夹中删除文件。任何身体都可以帮助我。

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

        closedir($dirHandle);

?>    

6 个答案:

答案 0 :(得分:13)

  • 最初文件夹应具有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);

答案 1 :(得分:3)

您的代码中有一个错误,您没有给出正确的路径

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

?>    

答案 2 :(得分:2)

这里不需要while循环来删除文件,你必须将该文件的路径传递给unlink()函数,如下所示。

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

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

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

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

if($file==$data) {
  unlink( $dir .'/'. $file);
}

答案 5 :(得分:1)

非常简单:

$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);