PHP 5.4.31 Released

sys_get_temp_dir

(PHP 5 >= 5.2.1)

sys_get_temp_dirGeçici dosyalar için kullanılan dizini döndürür

Açıklama

string sys_get_temp_dir ( void )

PHP'nin geçici dosyaları sakladığı öntanımlı dizinin tam yolunu döndürür.

Dönen Değerler

Geçici dosyaların saklandığı dizinin tam yolunu döndürür.

Örnekler

Örnek 1 - sys_get_temp_dir() örneği

<?php
// sys_get_temp_dir() kullanarak geçici dosyaların
// tutulduğu dizinde bir geçici dosya oluşturalım
$temp_file tempnam(sys_get_temp_dir(), 'Tux');

echo 
$temp_file;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

C:\Windows\Temp\TuxA318.tmp

Ayrıca Bakınız

add a note add a note

User Contributed Notes 5 notes

up
6
royanee at yahoo dot com
1 month ago
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.
up
3
Ismail Asci
5 months ago
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
up
6
Anonymous
6 years ago
This function does not always add trailing slash. This behaviour is inconsistent across systems, so you have keep an eye on it.
up
4
bert-jan at bugbyte dot nl
4 years ago
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
up
-12
dannel at aaronexodus dot com
4 years ago
There's no need to use a random name for the directory for tempnam.

Since a file and a directory can't share the same name on the filesystem, we can exploit this and simply use the name of the current file. It is guaranteed that the directory won't exist (because it's a file, of course).

<?php
if ( !function_exists('sys_get_temp_dir')) {
  function
sys_get_temp_dir() {
    if (!empty(
$_ENV['TMP'])) { return realpath($_ENV['TMP']); }
    if (!empty(
$_ENV['TMPDIR'])) { return realpath( $_ENV['TMPDIR']); }
    if (!empty(
$_ENV['TEMP'])) { return realpath( $_ENV['TEMP']); }
   
$tempfile=tempnam(__FILE__,'');
    if (
file_exists($tempfile)) {
     
unlink($tempfile);
      return
realpath(dirname($tempfile));
    }
    return
null;
  }
}
?>
To Top