9

フォルダーからファイルしたい'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);

?>    
4

6 に答える 6

24

最初に、フォルダーには 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);
于 2012-11-22T07:33:01.500 に答える
5

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

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

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

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

于 2012-11-22T07:33:42.110 に答える
3

コードに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);

?>    
于 2012-11-22T07:35:47.733 に答える
2
if($file==$data) {
  unlink( $dir .'/'. $file);
}
于 2012-11-22T07:37:51.817 に答える
2

とても簡単です:

$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);
于 2016-03-15T11:51:03.713 に答える
1

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

rename($old, $new) or die("Unable to rename $old to $new.");
于 2012-11-22T07:32:58.953 に答える