首页 > 解决方案 > Codeigniter 排除文件和文件夹

问题描述

我在stackoverflow上找到了一些代码。当您排除一个文件夹时,它的工作完美。但我想排除特定的文件夹和文件。但它不排除。请你帮助我好吗?

$this->load->library('zip');
$data = array_diff(scandir(FCPATH), array('..', '.','backups'));
    // 'backups' folder will be excluded here with '.' and '..'

foreach($data as $d) {

    $path = FCPATH.$d;

    if(is_dir($path))
        $this->zip->read_dir($path, false);

    if(is_file($path))
        $this->zip->read_file($path, false);
}

$this->zip->archive(FCPATH.'backups/'.date('Y-m-d-His').'.zip'); 

此代码仅不包括备份文件夹。我想像这样排除

前任:

$data = array_diff(scandir(FCPATH), array('..', '.','backups', 'config.php', 'database.php', 'system'));

可能吗?

标签: phpcodeigniter

解决方案


是的,这是可能的。第二个参数中在array_diff()函数第一个参数中不可用的项目将不会出现在结果中。

您可以在此处找到该函数的文档: https ://www.php.net/manual/en/function.array-diff.php


推荐阅读