文件上传为什么要先转存到一个临时目录


浏览器上传时,先将上传的文件放到临时目录下,然后在从临时目录里面copy到真正要上传的目录。 为什么不直接读取文件放到所要放置目录?
请问: 1. 这是浏览器有关的行为还是HTTP服务器有关的行为?
2. 浏览器行为的话.是所有浏览器都做这样做吗?这样做出于什么原因?安全?
3. 在哪里能找到相关资料?

--------------------
追加:
http://my.oschina.net/i33/blog/96701
1.首先 这个不是PHP独有的.JAVA struts2框架也作了此处理.应该只是为了方便程序员操作上传文件使用.不然还要像上面文章里说的去操作流. 重命名 大小什么的和这个过程不冲突,是先后的问题.
2.上传文件时 IE 浏览器会获得文件路径全名 如: C:/A.TXT FF 和CHROME 会获得文件名 A.TXT ,这个操作是为了用户安全和隐私.
这样理解对不对??

上传 文件上传

Khoomei 10 years, 11 months ago

0. 用户的输入总是不安全的,不能让用户指定最终保存的目录和文件名,所以首先得找个地方存,然后通过代码代码里指定目标路径和文件名,所以最终总是要有一个move的操作(注意在php里是move_uploaded_file,不是copy)。
1. <删除线>显然这是HTTP服务器的行为</删除线> 显然这是WEB端的行为(更具体地说是具体的语言实现)
2. N/A
3. ----

davewit answered 10 years, 11 months ago

Your Answer