我有以下脚本:
<form method=post enctype="multipart/form-data">
<input type=file name=test><input type=submit></form>
<?php
echo sys_get_temp_dir();
echo '<br/>';
echo ini_get('upload_tmp_dir');
echo '<br/><pre>';
print_r($_FILES);
echo '</pre>';
这是输出:
/var/tmp/
/opt/httpd/tmp
Array
(
[test] => Array
(
[name] => the-doors-logo.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpyeE7CX
[error] => 0
[size] => 80635
)
)
在PHP.ini中,tmp_upload_dir设置为'/ opt / httpd / tmp'。
有人可以向我解释PHP如何为我提供两个不同的'tmp'文件夹,而我的FILES中的tmp_name仍然在/ tmp中?
答案 0 :(得分:1)
这是因为upload_temp_dir
中已经指定了php.ini
,php会使用它,除非未指定,不存在或不可写,php将使用默认的系统临时目录。