PHP的$ _FILES重用服务器上的文件名吗?

时间:2011-07-21 19:33:08

标签: php file file-upload

我正在为社交网站构建图片上传组件。我使用imgfile[]作为<input>的{​​{1}}上传多个文件,这部分工作正常。

name

我的问题是关于显示上传文件时会发生什么。

$upload_form.= "<ul class='imgfile_ul' id='$imgfile_ul_id' style='padding:0px'>";
$upload_form.=      "<li class='' id='$imgfile_li_id' style='border:0px'><label class='msgs_in_black'>Filename:</label><input type='file' name='imgfile[]' class='imgfile_cls' id='$imgfile_id'/></li>";
$upload_form.= "</ul>";

如果两个用户在两个不同的地方同时上传文件,是否有可能使用相同的文件名,我会收到其他用户的文件而不是正确的文件?

2 个答案:

答案 0 :(得分:4)

PHP为每个上传的文件创建一个唯一的临时文件 - 两个不同的uploadd将收到相同的随机生成的名称的几率基本上不存在。

答案 1 :(得分:0)

$_FILES变量是当前正在执行的脚本的本地变量(由http post请求启动),因此用户无法获得其他用户上传的文件