web-dev-qa-db-ja.com

PHPのフォルダからファイルを削除する方法

私はフォルダを持っています'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
xing
  • 最初はフォルダに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);
15
Vamsi

以下に示すように、ファイルを削除するためにここでwhileループを実行する必要はありません。そのファイルのパスを、unlink()関数に渡す必要があります。

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

Unlink()関数の詳細をお読みください

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

3
Tahir Yasin

コードにバグが1つあり、正しいパスが指定されていません

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

?>    
3
Sibu
 if($ file == $ data){
 unlink($ dir。 '/'。$ file); 
} 
1
som

それは非常に簡単です:

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

サーバーがアクセスできるゴミ箱または一時フォルダーに名前を変更してみてください* *機密データがない限り。

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