Php 移动已过期的文件

Php 移动已过期的文件,php,Php,因此,我设法使用以下方法获取目录中的所有文件: $dir = PUBLIC_DIRECTORY . '/' . $login_session . '/'; $files = array(); $DirectoryIterator = new RecursiveDirectoryIterator($dir); $IteratorIterator = new RecursiveIteratorIterator($DirectoryIterator, RecursiveIteratorItera

因此,我设法使用以下方法获取目录中的所有文件:

$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));
    }
}
但是这个代码显示

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

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

$bin=“\bin\”


这个
重命名($f,realpath($dir)。$bin.basename($f))

我通过这样做成功地修复了它

$bin=“\bin\”


这个
重命名($f,realpath($dir)。$bin.basename($f))

嗨!如果您注意到,
$f
是文件的完整路径,因为
foreach($f文件)
Hi!如果您注意到,
$f
是文件的完整路径,因为
foreach($f文件)
C:\xampp\htdocs\fms\public\kei\BinFMS.docx
C:\xampp\htdocs\fms\public\kei\Bin1.jpg