PHP副本文件A,如果大小大于文件B的大小

Vol*_*cho -1 php copy

我想用php查看根文件夹中文件的文件大小是否大于子文件夹"old"中相同文件的大小.如果大小较大,我想将文件复制到旧文件夹并覆盖现有文件.

<?php
$newfile = 'somefile.txt';
$oldfile = 'old/somefile.txt';

if (filesize($newfile) < filesize($oldfile)){
    copy($newfile,$oldfile);
    echo $newfile. 'is copied';
    }
    else {
    echo $newfile. 'is smaller';
    }
?>
Run Code Online (Sandbox Code Playgroud)

此代码不会复制.有人可以更正代码吗?

Ste*_*172 5

你需要使用>而不是<

到目前为止,您正在检查$ newFile是否更小,如果是,请将其复制到旧目录.

<?php
$newfile = 'somefile.txt';
$oldfile = 'old/somefile.txt';

if (filesize($newfile) > filesize($oldfile)){
    chmod($oldfile, 0777);
    if(!copy($newfile,$oldfile)) {
         echo $newfile. 'is copied and larger';
    } else {
        echo $newfile. 'is larger but could not be copied';
    }
} else {
    echo $newfile. 'is smaller';
}
?>
Run Code Online (Sandbox Code Playgroud)

  • 为你+1,你的想法是对的,但是downvoter期待它作为评论 (2认同)
  • +1.我也不理解downvotes.这是你发现的一个逻辑错误,但很可能是downvotes是因为他遇到了copy()函数或权限问题(我猜) (2认同)