移动老化的文件

时间:2016-01-31 06:16:25

标签: php

所以我设法使用这个来获取目录中的所有文件:

$dir   = PUBLIC_DIRECTORY . '/' . $login_session . '/';
$files = array();
$DirectoryIterator = new RecursiveDirectoryIterator($dir);
$IteratorIterator  = new RecursiveIteratorIterator($DirectoryIterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($IteratorIterator as $file) {
    $path = $file;
    if ($file->isFile()) 
        $files[] = realpath($path);
}

导致了这个:

C:\xampp\htdocs\fms\public\kei\docx\FMS.docx
C:\xampp\htdocs\fms\public\kei\jpg\1.jpg

现在我使用下面的代码将文件从其目录中移动到C:\ xampp \ htdocs \ fms \ public \ kei \ Bin \,当老化时

foreach($files as $f) {
    if (filemtime($f) < time() - 86400) {
        rename($f, realpath($dir . "/Bin/" . basename($f));
    }
}

但由于某些原因没有任何事情发生。我尝试了不同的东西来获取文件名...

echo realpath($dir . "/Bin/") . basename($f);

但此代码显示

C:\xampp\htdocs\fms\public\kei\BinFMS.docx
C:\xampp\htdocs\fms\public\kei\Bin1.jpg

1 个答案:

答案 0 :(得分:-1)

我设法通过这样做来修复它

$ bin =“\ Bin \”;

rename($f, realpath($dir) . $bin . basename($f));