WordPress как на ладони
Шаблоны, плагины и темы для настоящих поклонников Elementor. От TemplateMonster.com wordpress jino

wp_tempnam() WP 2.6.0

Создает пустой временный перезаписываемый файл с уникальным именем во временном каталоге. После использования файл обязательно нужно удалить с помощью unlink();

Временный каталог можно указать или он будет получен с помощью get_temp_dir().

ВАЖНО: после использования функции, созданный файл обязательно нужно удалять с помощью unlink().

Имя файла можно указать вручную в первом параметре $filename, оно будет использовано как база для создания действительно уникального имени файла.

Для уникализации переданного имени файла к нему добавляется хэш и расширение .tmp. Например, если указать myfile, то получим: /tmp/myfile-ADfs54f.tmp. Если не указать базовое имя файла, то за базу имени будет взята метка текущего времени: time().

Для использования функции во фронте, нужно подключить файл:

require_once ABSPATH . 'wp-admin/includes/file.php';
Является основой для: download_url()
✈ 1 раз = 0.000405с = быстро | 50000 раз = 5.08с = быстро PHP 7.1.11, WP 4.9.5

Хуков нет.

Возвращает

Строку. Путь до созданного файла. При этом файл создается физически и его нужно удалить.

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

wp_tempnam( $filename, $dir );
$filename(строка)
Имя файла, которое будет взято за базу, для создания имени файла.
По умолчанию: ''
$dir(строка)
Путь до временного каталога, в котором будет подбираться имя файла. Если не указать, то каталог будет получен через функцию get_temp_dir().
По умолчанию: ''

Примеры

#1 Пример того что выводит фукнция

require_once ABSPATH . 'wp-admin/includes/file.php';

$filename = wp_tempnam(); //> /tmp/1524879129-OkwJkv.tmp

// изменяем файл и делаем с ним что-либо

unlink( $filename ); // удаляем файл

Еще примеры:

$filename = wp_tempnam( 'my_log_file' );     //> /tmp/my_log_file-BmwSQw.tmp
unlink( $filename );

$filename = wp_tempnam( 'my_log_file.log' ); //> /tmp/my_log_file-AreTYU.tmp
unlink( $filename );

$filename = wp_tempnam( '', $_SERVER['DOCUMENT_ROOT'].'/' ); //> /home/site.ru/public_html/1524879213-ieQsRX.tmp
unlink( $filename );

Код wp_tempnam: wp-admin/includes/file.php VER 4.9.8

<?php
function wp_tempnam( $filename = '', $dir = '' ) {
	if ( empty( $dir ) ) {
		$dir = get_temp_dir();
	}

	if ( empty( $filename ) || '.' == $filename || '/' == $filename || '\\' == $filename ) {
		$filename = time();
	}

	// Use the basename of the given file without the extension as the name for the temporary directory
	$temp_filename = basename( $filename );
	$temp_filename = preg_replace( '|\.[^.]*$|', '', $temp_filename );

	// If the folder is falsey, use its parent directory name instead.
	if ( ! $temp_filename ) {
		return wp_tempnam( dirname( $filename ), $dir );
	}

	// Suffix some random data to avoid filename conflicts
	$temp_filename .= '-' . wp_generate_password( 6, false );
	$temp_filename .= '.tmp';
	$temp_filename = $dir . wp_unique_filename( $dir, $temp_filename );

	$fp = @fopen( $temp_filename, 'x' );
	if ( ! $fp && is_writable( $dir ) && file_exists( $temp_filename ) ) {
		return wp_tempnam( $filename, $dir );
	}
	if ( $fp ) {
		fclose( $fp );
	}

	return $temp_filename;
}

Cвязанные функции

Из метки: Файловая система (files dirs folders создание удаление директорий файлов)

Еще из метки: path directory (путь папка)

Еще из раздела: Вспомогательные

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться