sys_get_temp_dir

(PHP 5 >= 5.2.1, PHP 7)

sys_get_temp_dir Возвращает путь к директории временных файлов

Описание

string sys_get_temp_dir ( void )

Возвращает путь к директории, где PHP по умолчанию хранит временные файлы.

Возвращаемые значения

Возвращает путь к директории временных файлов.

Примеры

Пример #1 Пример использования sys_get_temp_dir()

<?php
// Создание временного файла в директории
// временных файлов, используя sys_get_temp_dir()
$temp_file tempnam(sys_get_temp_dir(), 'Tux');

echo 
$temp_file;
?>

Результатом выполнения данного примера будет что-то подобное:

C:\Windows\Temp\TuxA318.tmp

Смотрите также

  • tmpfile() - Создаёт временный файл
  • tempnam() - Создаёт файл с уникальным именем

Коментарии

Автор:
This function does not always add trailing slash. This behaviour is inconsistent across systems, so you have keep an eye on it.
2008-01-29 06:08:41
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html
This function does not account for virtualhost-specific modifications to the temp path and/or open_basedir:

<Virtualhost>
php_admin_value open_basedir /home/user
php_admin_value upload_tmp_dir /home/user/tmp
php_admin_value session.save_path /home/user/tmp
</Virtualhost>

Within this config it still returns /tmp
2010-03-29 16:06:59
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html
Автор:
It's not documented but this function does not  send the path with trailing spaces, actually it drops the slash if it exists.

https://github.com/php/php-src/blob/af6c11c5f060870d052a2b765dc634d9e47d0f18/main/php_open_temporary_file.c#L238
2014-01-31 13:56:56
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html
As of PHP 5.5.0, you can set the sys_temp_dir INI setting so that this function will return a useful value when the default temporary directory is not an option.
2014-06-11 23:27:51
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html
Автор:
it should be mentioned that the return value of sys_get_temp_dir() can be set using the ini-directive 'sys_temp_dir' globally as well as per directory by using
php_admin_value sys_temp_dir /path/to/tmp
2015-04-24 13:44:40
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html
Автор:
A very helpful thing to note when on Linux:

If you are running PHP from the commandline you can use the environment variable: TMPDIR - to change the location without touching php.ini. - This should work on most versions of PHP.

Example file: test.php
<?php
   
echo sys_get_temp_dir() . PHP_EOL;
?>

And then running:

php test.php
     /tmp
   
TMPDIR=/custom/location php test.php
    /custom/location
2015-09-17 14:07:05
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html
when the sys_temp_dir directive is left unset, sys_get_temp_dir() returns C:\Windows on my Windows.
2016-07-18 20:17:54
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html
Автор:
If running on a Linux system where systemd has PrivateTmp=true (which is the default on CentOS 7 and perhaps other newer distros), this function will simply return "/tmp", not the true, much longer, somewhat dynamic path.
2017-05-11 18:40:43
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html
Автор:
That is important for the purposes of building paths through concatenation to know that sys_get_temp_dir does not include a path separator at the end.

So, sys_get_temp_dir() will return whatever your temp dir is set to, by default:

/tmp

If you attempted to concatenate another dir name  temp and use the following:

mkdir(sys_get_temp_dir() . 'some_dir');

That would actually attempt to generate:
/tmpsome_dir

It would likely result in a permission error unless you are running a php script as a super user.

Instead you would want to do:
mkdir( sys_get_temp_dir() . DIRECTORY_SEPARATOR. 'some_dir' );

which would create:
/tmp/some_dir

I don't know if Windows or other platforms include a directory separator at the end. So if you are writing something a bit more general you may want to check for the path separator at the end and if it is not there append it.
2020-03-02 03:28:05
http://php5.kiev.ua/manual/ru/function.sys-get-temp-dir.html

    Поддержать сайт на родительском проекте КГБ