在PHP中移动上传文件的最佳方法?

Jas*_*vis 0 php

我有一个PHP脚本,当用户上传照片时使用以下内容:

if (is_uploaded_file($HTTP_POST_FILES['picture1']['tmp_name'])) {
   move_uploaded_file($HTTP_POST_FILES['picture1']['tmp_name'], $full_file_path);
}
Run Code Online (Sandbox Code Playgroud)

我很好奇,我应该使用它吗?如果是这样,有什么好处吗?

if (is_uploaded_file($HTTP_POST_FILES['picture1']['tmp_name'])) {
   copy($HTTP_POST_FILES['picture1']['tmp_name'], $full_file_path);
}
Run Code Online (Sandbox Code Playgroud)

此外,当脚本结束时,文件位于@ $ HTTP_POST_FILES ['picture1'] ['tmp_name']自动删除?

Tyl*_*ter 5

move_uploaded_file喜欢它进行检查,以确保该文件是有效的upladed文件,这是很重要的好处有:

如果对上传文件所做的任何事情都有可能向用户或甚至同一系统上的其他用户显示其内容,则此类检查尤其重要. - PHP文档

而且,不是复制数据,而是移动它.这意味着创建的整体数据更少.

第二个问题:是的,脚本完成后文件被删除,这意味着除非你移动它,否则PHP无法访问它.