问答详情
源自:1-3 $_FILES预定义变量解析

刚才自己折腾着玩,发现copy和move的一些不同,是不是应该优先用move呢?

$size = $_FILES['myFile']['size'];
$error = $_FILES['myFile']['error'];
$type = $_FILES['myFile']['type'];
$name = $_FILES['myFile']['name'];
$tmp_name = $_FILES['myFile']['tmp_name'];
$filename =& $tmp_name;
copy($filename, 'uploads/'.'copy'.$name);
move_uploaded_file($filename, 'uploads/'.'move'.$name);

如果先执行move,就会报错,copy说它找不到那个文件。(文件已经被move移走了,它肯定找不到);

如果先执行copy,就不会报错,uploads文件夹内会出现两个文件。(copy只是复制,原文件还在,所以move还有的做)。

现在,我想问,如果是用copy, 那临时文件什么时候释放呢?

提问者:ThinkSummer 2015-08-12 19:14

个回答

  • King
    2015-08-20 17:18:42
    已采纳

    copy是拷贝,move这个是直接移动

    PHP中有垃圾回收机制,如果你没做操作就会被释放了

    ^-^...

  • ThinkSummer
    2015-08-12 19:18:24

    如果move在7行,先执行move,就会报错,copy说它找不到那个文件。(文件已经被move移走了,它肯定找不到);

    如果copy在7行,先执行copy,就不会报错,uploads文件夹内会出现两个文件。(copy只是复制,原文件还在,所以move还有的做)。

    现在,我想问,如果是用copy, 那临时文件什么时候释放呢?