php.ini中的临时目录无法正常工作?

时间:2013-05-14 07:25:06

标签: php apache

我有以下脚本:

<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中?

1 个答案:

答案 0 :(得分:1)

这是因为upload_temp_dir中已经指定了php.ini,php会使用它,除非未指定,不存在或不可写,php将使用默认的系统临时目录。