简体   繁体   中英

how to delete a file from folder in php

I have a folder 'items' in which there are 3 files item1.txt, item2.txt and item3.txt. I want to delete item2.txt file from folder. I am using the below code but it not deleting a file from folder. Can any body help me in that.

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

        closedir($dirHandle);

?>    

Initially the folder should have 777 permissions

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

or try

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

No need of while loop here for just deleting a file, you have to pass path of that file to unlink() function, as shown below.

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

Please read details of unlink() function

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

There is one bug in your code, you haven't given the correct path

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

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

It's very simple:

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

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM