Подтвердить что ты не робот

Если upload_tmp_dir не имеет значения... где мои временные файлы идут? - эксперименты

Я действительно просто возился и узнал больше о PHP, но я наткнулся на что-то, что меня бросило за цикл. Я надеюсь, что смогу просто рассказать о головоломке.

В основном я просто пытаюсь обнаружить mimetypes для загруженных изображений - и, как и в строке темы, спрашивает: если upload_tmp_dir не имеет значения, где (в интернетах) мои временные файлы заканчиваются? Я должен упомянуть, что это говорит мне мои миметики! Так отчасти успех!

И вот некоторые из моих спецификаций: я запускаю 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>

Спасибо всем!

4b9b3361

Ответ 1

Скорее всего, он будет использовать системный каталог tmp. Но чтобы действительно узнать, вы должны проверить вывод <?php phpinfo() ?>. Вы можете поместить его в файл info.php или аналогичный и открыть этот URL-адрес файла в своем браузере. Он расскажет вам все значения конфигурации; даже по умолчанию.

Вы также можете использовать sys_get_temp_dir(), чтобы узнать местоположение временного каталога.

Ответ 2

Я тоже искал этот ответ. Я нашел файл php.ini в /etc и внутри:

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir = 

Кажется, это указывает /tmp, если не указано.