get_temp_dir() │ WP-CLI 2.5.0

Получает путь до папки в которую можно записывать временные файлы. Со слэшем на конце.

Папка временных файлов подбирается в следующей очередности (возвращается первая папка для которой есть право на запись):

  1. Константа WP_TEMP_DIR. Если в этой константе определить путь до временной папке, то будет использован он. По умолчанию эта константа в ВП не определена. Константу нужно определять в файле wp-config.php.
  2. PHP функция sys_get_temp_dir() - возвращает путь до временной папки на сервере.
  3. PHP опция ini_get('upload_tmp_dir') - содержит путь до временной папки на сервере.
  4. Константа WP_CONTENT_DIR - содержит путь до папки контента ВП.
  5. /tmp/ - жестко указанный путь до папки на сервере.

Каждая папка сначала проверяется на возможность записать в нее файл, через wp_is_writable().

Для создания временного файла во временной папке, используйте wp_tempnam()

1 раз — 0.00001 сек (скорость света) | 50000 раз — 0.03 сек (скорость света) | PHP 7.1.11, WP 4.9.5

Хуков нет.

Возвращает

string. Путь до доступной для записи временной папки на сервере.

Использование

$temp_dir = get_temp_dir();

Примеры

#1 Получим путь временной папки

echo get_temp_dir(); // /server/tmp/

#2 Создаем каталог my_test во временном каталоге, если он еще не существует

$my_tmp_dir = get_temp_dir() . '/my_test';
if( ! is_dir($my_tmp_dir) ){
	mkdir( $my_tmp_dir );
}

Код get_temp_dir() WP-CLI 2.13.0-alpha

function get_temp_dir() {
	static $temp = '';

	if ( $temp ) {
		return $temp;
	}

	// `sys_get_temp_dir()` introduced PHP 5.2.1. Will always return something.
	$temp = trailingslashit( sys_get_temp_dir() );

	if ( ! is_writable( $temp ) ) {
		WP_CLI::warning( "Temp directory isn't writable: {$temp}" );
	}

	return $temp;
}