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.
PHP.mk документација
sys_get_temp_dir
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.sys-get-temp-dir.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.sys-get-temp-dir.php
sys_get_temp_dir
Референца за `function.sys-get-temp-dir.php` со подобрена типографија и навигација.
sys_get_temp_dir
(PHP 5 >= 5.2.1, PHP 7, PHP 8)
sys_get_temp_dir — (PHP 5 >= 5.2.1, PHP 7, PHP 8)
= NULL
sys_get_temp_dir(): string
Враќа патека до директориумот што се користи за привремени датотеки
Параметри
Оваа функција нема параметри.
Вратени вредности
Враќа патека до директориумот каде PHP ги складира привремените датотеки по дифолт.
Примери
Пример #1 sys_get_temp_dir() example
<?php
// Create a temporary file in the temporary
// files directory using sys_get_temp_dir()
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');
echo $temp_file;
?>Горниот пример ќе прикаже нешто слично на:
C:\Windows\Temp\TuxA318.tmp
Белешки од корисници 9 белешки
OsakaWebbie ¶
пред 8 години
- Креирај датотека со уникатно име на датотека ¶
пред 11 години
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.
Анонимен ¶
пред 18 години
This function does not always add trailing slash. This behaviour is inconsistent across systems, so you have keep an eye on it.
royanee at yahoo dot com ¶
12 години пред
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
Анонимен ¶
пред 10 години
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
David Spector ¶
пред 10 години
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
Ismail Asci ¶
пред 6 години
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.
Arthur Clifford ¶
пред 15 години
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
ohcc на 163 dot com ¶
пред 9 години
when the sys_temp_dir directive is left unset, sys_get_temp_dir() returns C:\Windows on my Windows.