1

当我想用 Codeigniter 删除一个目录中的所有文件时,我遇到了一个问题。

我一直在观看和尝试任何教程,只是遇到了一个问题。它总是无法删除任何文件。

这是我的脚本:

@看法

<a href="<?php echo base_url()?>sia/delete_allfile" title="Delete All File" onclick="return confirm('Are you sure you want delete all files?')">Delete All File</a>

@控制器

public function delete_allfile()
{
    $files = glob($_SERVER['DOCUMENT_ROOT'].'upload/perizinan/*'); // get all file names
    if(is_dir($path))
    {
        $this->session->set_flashdata('message',
        '
            Wrong directory !
        ');
        redirect('sia/perizinan');
    }else
    {
        foreach($files as $file)
        { // iterate files
            if(is_file($file))
            unlink($file); // delete file
        }
        redirect('sia/perizinan');
    }
}
4

4 回答 4

2

尝试使用 Codeigniter 的文件助手来删除文件。它完全符合您的要求。当然,如果文件夹上的权限错误(它需要权限:rwxrwxrwx (0777)),它就不会起作用,但是它使代码更清晰,更容易调试。在控制器的构造函数中添加:

$this->load->helper('file');

并替换:

foreach($files as $file)
    { // iterate files
        if(is_file($file))
        unlink($file); // delete file
    }

delete_files('./path/to/directory/');

或者,如果您想递归地包含子文件夹

delete_files('./path/to/directory/', TRUE);

这会删除文件夹/子文件夹中的所有文件,因此如果您想要更多控制权,最好使用取消链接来执行此操作,这样您就可以决定删除什么。

于 2013-05-28T11:13:41.340 回答
0

您是否在页面或日志文件中收到任何错误消息?您是否检查过文件夹/文件权限?您可以使用chmodfileperms函数

于 2013-05-26T20:23:09.947 回答
0

它简单易行..你可以试试这个。

    $files = glob('/home/xxx/public_html/project_name/application/*');

 foreach($files as $file){ 

 if(is_file($file))

 unlink($file);

  }
于 2014-09-30T12:16:35.970 回答
0

它可能会起作用,我用过

$this->load->helper('directory');
$this->load->helper("file");

$dir_fiels = directory_map('resources/captcha/');
$len = sizeOf($dir_fiels);
for($i=0; $i<$len;$i++){
    unlink('resources/captcha/'.$dir_fiels[$i]);
}
于 2016-06-28T07:05:18.943 回答