PHP создает случайный файл tmp и получает его полный путь
После того, как я сделаю:
$temp = tmpfile();
fwrite($temp, "writing to tempfile");
Я хотел бы получить полный путь к файлу $temp
, который был создан tmpfile
.
Что мне нужно сделать, чтобы получить эту информацию?
3 ответа:
$path = tempnam(sys_get_temp_dir(), 'prefix');
СмотритеЭтот пример .
tmpfile
возвращает указатель на файл. Чтобы получить базовый путь, вам нужно запросить у потока его метаданные:$file = tmpfile(); $path = stream_get_meta_data($file)['uri']; // eg: /tmp/phpFx0513a
Преимущество подхода
tmpfile
? PHP автоматически удаляет$path
, Когда$file
выходит из области видимости. С помощьюtempnam
необходимо вручную удалить созданный файл.
Используйте функцию
tempnam
вместо этого?