我正在使用内置的 PHP 函数copy()
将图像或文件上传到我的主机。
因此,我想知道为什么文件必须在上传到目的地之前移动到临时文件?
为什么在上传到目的地之前文件必须移动到临时文件?
这就是 PHP 管理文件上传的方式;从客户端(网络浏览器)发布的正文以格式从网络服务器传递到 PHP,multipart/form-data
然后对其进行解码。
因为这个过程发生在你的脚本运行之前,PHP 将文件存储在一个临时位置,由upload_tmp_dir
.
顺便说一句,建议使用move_uploaded_file()
而不是copy()
; 它确保文件实际上是作为当前请求的一部分上传的。
而是使用Move_uploaded_file。如果您在表单中上传带有文件标签的文件,则不能上传带有副本的文件。
使用 move_uploaded_file,您可以获得错误处理、大小限制、文件类型限制等优势。只需阅读链接。语法是:
move_uploaded_file($source, $destination);
当我们在 html 表单中使用文件字段时,它将文件保存到临时文件夹中。您需要 move_upload_fle 函数将文件从临时目录复制到目标目录。
move_uploaded_file($source, $destination);