PHP移动目录中的所有文件

时间:2015-09-18 13:57:33

标签: php file rename glob

我正在尝试将所有文​​件移动到另一个目录,但我无法让它工作。

$files = glob($_SERVER['DOCUMENT_ROOT']."/*.csv"); // get all file names
foreach($files as $file) {
    if(is_file($file))
        rename($file, "archive/".basename($file));
    }
}

我没有错误。提前谢谢。

2 个答案:

答案 0 :(得分:0)

好的,我得到了它的工作。我是在没有$_SERVER['DOCUMENT_ROOT']的情况下完成的。

$files = glob("files/*.csv"); // get all file names
foreach($files as $file){ // iterate files
    if(is_file($file)) {
        rename($file, "files/archive/" . basename($file)); // move file
    }
}

感谢您的帮助。

答案 1 :(得分:0)

调试代码是个不错的做法....

// here you missed the backslash, like it is mentioned by bufh
$files = glob($_SERVER['DOCUMENT_ROOT']."/*.csv"); 

var_dump($files); // to see if files with path were effectively returned by glob()

foreach($files as $file) {
    if(is_file($file))
        // i advice you to use Log4PHP ... it let you debug easily your code in development and production system (simple switch to debug mode...)
        // $log->debug(sprintf("this file:%s will be moved")); 
        rename($file, "archive/".basename($file));
    }
}