移动文件然后记录一切

时间:2011-07-26 04:37:52

标签: php

我使用rename()将文件从源目录移动到目标目录。如果我在此过程中如何记录流程,我可以提出您的任何建议吗?我想它会在里面:

while(false !== ($file = readdir($handle))) {
    if(is_file($src . '/' . $file)) {
        rename($src . '/' . $file, $dest . '/' . $file);
    }
}

日志可以简单地包含每个文件的成功传输,或者是否发生任何错误。

3 个答案:

答案 0 :(得分:0)

重命名返回bool,你可以使用

答案 1 :(得分:0)

这应该可以解决问题:

$logfilename = 'log.txt'; // Or whatever you call it
while(false !== ($file = readdir($handle))) {
    if(is_file($src . '/' . $file)) {
        if(rename($src . '/' . $file, $dest . '/' . $file)){
            file_put_contents($logfilename, 'Successfully renamed '.
            '"'.$src . '/' . $file.'" to "'.$dest . '/' . $file.'"'.PHP_EOL,
                FILE_APPEND);
        }else{
            file_put_contents($logfilename, 'Failed to rename'.
            '"'.$src . '/' . $file.'" to "'.$dest . '/' . $file.'"'.PHP_EOL,
                FILE_APPEND);
        }
    }
}

答案 2 :(得分:0)

$p=fopen('php://stderr','w');
while(false !== ($file = readdir($handle))) {
  if(is_file($src . '/' . $file)) {
    if(rename($src . '/' . $file, $dest . '/' . $file)) {
       @fputs($p, "OK - mv $src/$file $dest/$file\n");
    } else {
       @fputs($p, "ERROR - - mv $src/$file $dest/$file\n");
    }
  }
}
@fclose($p);