Задать вопрос
fapchat
@fapchat

Как fopen может тут работать?

$fname = tempnam() . getmypid();
$f = fopen($fname, "w");

Так,
tempnam()
это имя файла, но
getmypid()
- ID процесса, как тогда
fopen($fname, "w");
может работать, если в 1 параметре нужно указывать имя файла или URL, а $fname - это имя вместе с ID?
  • Вопрос задан
  • 113 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 1
Adamos
@Adamos
Tempname - это не какое-то волшебное имя файла, который кто-то любезно для тебя создал.
Это строка, в которой сгенерировано случайное имя файла в системном временном каталоге (и, надо думать, сделана проверка, не существует ли такой уже - тут не уверен).
Ты не обязан использовать именно это имя - файла на самом деле еще не существует, его создает как раз fopen.
Другое дело, что, меняя это имя, ты обнуляешь проверку на уникальность - и стоит уже самостоятельно убедиться, что такого файла нет во временном каталоге, а то может получиться нехорошо...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IgorPI
@IgorPI

w - Открывает файл только для записи; помещает указатель в начало файла и обрезает файл до нулевой длины. Если файл не существует - пробует его создать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы