PHP:如何将上传的临时文件复制到多个地方?

2021-12-24 00:00:00 file-upload php

如何将同一个文件复制两次?我正在尝试做这样的事情:

how can I copy two times the same file? I'm trying to do something like this:

                copy($file['tmp_name'], $folder."1.jpg");
            copy($file['tmp_name'], $folder."2.jpg");
            copy($file['tmp_name'], $folder."3.jpg");

临时文件在被服务器销毁之前有多少时间?

And how many time does temp files has before it's destroyed by the server?

我也尝试使用 move_uploaded_file,但我无法让它工作.我想从上传的文件中生成 2 个拇指.

I try using move_uploaded_file also, but I can't make it work. I want to generate 2 thumbs from an uploaded file.

需要帮助吗?

谢谢,

推荐答案

move_uploaded_file 将移动文件,而不是复制它——这意味着它只能工作一次.

move_uploaded_file will move the file, and not copy it -- which means it'll work only once.

如果你使用copy,应该没有任何限制完全取决于您可以复制的次数:上传创建的临时文件只会在脚本执行结束时被销毁(除非您之前移动/删除它,当然)


不过,也许解决方案是先使用 move_uploaded_file ,然后使用 copy ?
有点像,我想:


Still, maybe a solution would be to use move_uploaded_file first, and, then, copy ?
A bit like that, I suppose :

if (move_uploaded_file($file['tmp_name'], $folder . '1.jpg')) {
    copy($folder . '1.jpg', $folder . '2.jpg');
    copy($folder . '1.jpg', $folder . '3.jpg');
}

这将允许您获得 move_uploaded_file...

This would allow you to get the checks provided by move_uploaded_file...


如果这不起作用,那么请确保:


If this doesn't work, then, make sure that :

  • $folder 包含你想要的——包括最终的 /
  • 那个$file['tmp_name'] 也包含你想要的(我猜这是$_FILES 的某种副本——make确保 $_FILES$file 的副本正确完成)
  • $folder contains what you want -- including the final /
  • That $file['tmp_name'] also contains what you want (I'm guessing this is some kind of copy of $_FILES -- make sure the copy of $_FILES to $file is done properly)

相关文章