14

ローカルホストで見つかったファイルを削除したいと思います。

localhost/project/folder/file_to_delete

これには codeigniter を使用しています。

PHPでunlink()関数を使いたいのですが、使い方がよくわかりません。

4

9 に答える 9

35

codeigniter で「ファイルヘルパー」を使用できます。

CodeIgniter v3: http://codeigniter.com/userguide3/helpers/file_helper.html#delete_files

CodeIgniter v4: http://codeigniter.com/user_guide/helpers/filesystem_helper.html#delete_files

そしてこのように:

$this->load->helper("file");
delete_files($path);

Late Edit: delete_filesメソッドは、パスを使用してすべてのコンテンツを消去しunlink()ます。また、CI 内で実行できるのと同じです。このような:

unlink($path); 

有効なパス。

于 2012-03-17T06:46:18.897 に答える
13

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

理解するための最良の方法です。それを読んで!

$path_to_file = '/project/folder/file_to_delete';
if(unlink($path_to_file)) {
     echo 'deleted successfully';
}
else {
     echo 'errors occured;
}
于 2012-03-17T06:41:50.827 に答える
6

ファイルの使用を削除するには

unlink($file_name);

またはディレクトリの使用を削除するには

rmdir($dir);
于 2013-01-28T19:14:11.970 に答える
4

これを試してください、これは私にとってはうまくいきます:

unlink("./path/to/folder/file_name_do_delete");

例: アプリケーション フォルダの外にあるアップロード フォルダ内にファイルを置き、ファイル名は 123.jpg です。したがって、次のようになります。

unlink("./uploads/123.jpg");
于 2014-12-25T18:32:00.413 に答える
2
$file = "test.txt";
if (!unlink($file))
  {
  echo ("Error deleting $file");
  }
else
  {
  echo ("Deleted $file");
  }
于 2012-03-17T06:43:19.287 に答える
2

簡単に使用できます:

$file = "uploads/my_test_file.txt";

if (is_readable($file) && unlink($file)) {
    echo "The file has been deleted";
} else {
    echo "The file was not found";
}
于 2019-04-09T21:55:14.220 に答える
0

このコードは、空でないフォルダーも処理できます。ヘルパーで使用するだけです。

if (!function_exists('deleteDirectory')) {
    function deleteDirectory($dir) {
    if (!file_exists($dir)) return true;
    if (!is_dir($dir) || is_link($dir)) return unlink($dir);
        foreach (scandir($dir) as $item) {
            if ($item == '.' || $item == '..') continue;
            if (!deleteDirectory($dir . "/" . $item)) {
                chmod($dir . "/" . $item, 0777);
                if (!deleteDirectory($dir . "/" . $item)) return false;
            };
        }
        return rmdir($dir);
    }
}
于 2012-03-17T17:33:59.467 に答える