Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

26.9. PHP: Создание уникального имени

Допустим, что в ходе написания программы появилась необходимость создания временного уникального файла. РНР позволяет это сделать. Операция создания уникальных файлов осуществляется при помощи следующих функций:

• tempnam(),

• tmpfile().

Для создания уникального имени файла применяется функция tempnam(). Ее синтаксис:

string tempnam(string dir, string prefix)

Функция tempnam() создает уникальное имя файла в указанной директории. Если директория не существует, tempnam() может генерировать имя файла во временной директории системы.

Функция возвращает новое временное имя файла, или нулевую строку при ошибке.

Поведение функции tempnam() прежде всего зависит от операционной системы. На системе Windows системная переменная ТМР будет регулироваться параметром dir, на Linux системная переменная TMPDIR имеет преимущество, в то время как SVR4 будет всегда использовать параметр, указанный в dir, конечно, при условии, что каталог, на который указывает параметр dir, существует. При возникновении каких-либо сомнений ознакомьтесь с документацией вашей системы.

Приведем пример:

$tmpfname = tempname("/tmp", "FOO");


ВНИМАНИЕ

Поведение этой функции было изменено в версии PHP 4.0.3. Временный файл создается, чтобы можно было избежать «условия быстрого движения», при котором файл могбы появляться в файловой системе при генерировании строки и раньше возвращения скрипта к созданию файла.


Функция работает в РНР 3 и РНР 4.

Чтобы просто создать временный файл, необходимо обратиться к функции tmpfile(). Она имеет следующий синтаксис:

int tmpfile(void)

Функция ile позволяет создавать временный файл с уникальным названием в режиме записи. Файл производит работу после того, как была вызвана функция fopen(). Файл автоматически удаляется, как только происходит вызов функции f close либо завершение выполнения скрипта.

Функция tmpfile() используется в РНР 3-3.0.13 и РНР 4-4.0b4.

<< Предыдущий параграф Следующий параграф >>
Оглавление