我真的只是搞乱并且更多地了解PHP,但我偶然发现了一些让我陷入困境的事情。我希望我能对这个难题有所了解。
基本上我只是试图发现上传图像的mimetypes - 并且像主题行一样问:如果upload_tmp_dir没有值,那么(在互联网中)我的临时文件会不会结束? 我应该提一下,它告诉我我的mimetypes!所以部分成功!
以下是我的一些规范:我正在运行PHP 5.3+并且我的upload_tmp_dir没有任何价值 - 我确实读过2008年的另一篇文章,建议var_dump可能会有所帮助,但它只返回一个空数组。
<?php
if(empty($_FILES)){
echo "nothing in files array -- ignore warning, testing only" . "<br /><br />";
}
$finfo = new finfo(FILEINFO_MIME_TYPE);
$fileContents = file_get_contents($_FILES['upload']['tmp_name']); // check tmp dir for
$mimeType = $finfo->buffer($fileContents);
echo $mimeType . "<br /><br />";
echo var_dump($_FILES) . "<br /><br />";
?>
<form action="" method="post" enctype="multipart/form-data">
<p>
<label id="upload">Select a file to upload:
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<input type="file" id="upload" name="upload">
</label>
</p>
<p>
<input type="hidden" name="action" value="upload">
<input type="submit" value="Submit">
</p>
</form>
谢谢大家!
答案 0 :(得分:14)
很可能会使用系统的tmp目录。但要真正发现你应该检查<?php phpinfo() ?>
的输出。您可以将其放在info.php
文件或类似文件上,然后在浏览器中打开该文件的URL。它会告诉你所有的配置值;甚至是默认值。
您还可以使用sys_get_temp_dir()
查找临时目录的位置。
答案 1 :(得分:2)
我也在寻找这个答案。我在php.ini
和里面找到了/etc
文件:
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
如果未指定,这似乎表明/tmp
。