0

我正在使用内置的 PHP 函数copy()将图像或文件上传到我的主机。

因此,我想知道为什么文件必须在上传到目的地之前移动到临时文件?

4

3 回答 3

1

为什么在上传到目的地之前文件必须移动到临时文件?

这就是 PHP 管理文件上传的方式;从客户端(网络浏览器)发布的正文以格式从网络服务器传递到 PHP,multipart/form-data然后对其进行解码。

因为这个过程发生在你的脚本运行之前,PHP 将文件存储在一个临时位置,由upload_tmp_dir.

顺便说一句,建议使用move_uploaded_file()而不是copy(); 它确保文件实际上是作为当前请求的一部分上传的。

于 2013-04-09T08:10:07.660 回答
0

而是使用Move_uploaded_file。如果您在表单中上传带有文件标签的文件,则不能上传带有副本的文件。

使用 move_uploaded_file,您可以获得错误处理、大小限制、文件类型限制等优势。只需阅读链接。语法是:

move_uploaded_file($source, $destination);
于 2013-04-09T07:48:05.600 回答
0

当我们在 html 表单中使用文件字段时,它将文件保存到临时文件夹中。您需要 move_upload_fle 函数将文件从临时目录复制到目标目录。

move_uploaded_file($source, $destination);
于 2013-04-09T08:07:49.133 回答