【发布时间】:2015-03-14 01:35:26
【问题描述】:
我在尝试将文件上传到我的服务器时遇到 IE11 错误。
上传表单的相关部分:
echo '<form enctype="multipart/form-data" action="upload.php" method="POST"><br>';
echo '<input type="file" name="uploadFile"><br>';
echo '<input type="text" name="displayName"><br>';
echo '<input type="submit" name="submit" value="Submit"><br></form>';
这适用于 Chrome,但 IE 给了我一个$_FILES['uploadFile'] ['error'],其值为:
6 (UPLOAD_ERR_NO_TMP_DIR);缺少一个临时文件夹。
另一个similar topic 的此错误涉及设置与 OP 的托管公司的权限,但我正在上传到我自己的服务器。侧边栏中的Similar Questions 似乎不相关。
我没有在 php.ini 中设置默认临时目录。 sys_get_temp_dir() 返回 C:\Windows\TEMP。 Chrome上传到临时文件夹没有问题并且IE认为它丢失的任何原因?有没有地方我必须为 IE 设置一组单独的权限?
谢谢!
【问题讨论】:
-
这不应该取决于所使用的浏览器——毕竟这只是临时存储文件的服务器端问题。您是否尝试过在配置中指定
upload_tmp_dir? -
我设置了
upload_tmp_dir = /tmp(/tmp 对用户有写权限)但由于某种原因仍然得到sys_get_temp_dir() = C:\Windows\TEMP。现在正在调查。我不认为这取决于浏览器,但有没有解释为什么这适用于 Chrome? php的处理方式或临时目录的指向方式有什么不同吗? -
不,应该没有区别。请使用绝对路径设置
upload_tmp_dir。 -
谢谢,CBroe。将其更改为
upload_tmp_dir = "C:\inetpub\wwwroot\tmp"仍将sys_get_temp_dir()显示为C:\Windows\TEMP,我假设这是默认的临时目录。在 Chrome 中显示相同的内容,但文件上传没有问题。 -
使用
phpinfo()检查upload_tmp_dir实际使用的值。
标签: php file-upload server