Получение имени файла (или удаление файла) с помощью дескриптора файла
есть ли возможность получить имя файла из обработки файл? Или как я могу удалить файл, имеющий только дескриптор?
4 ответа:
здесь stream_get_meta_data. Он работает для потока, который вы получаете от tmpfile (). Если вы звоните на обычный указатель файла, то вы можете получить только базовое имя.
$meta_data = stream_get_meta_data($stream_or_file_pointer); $filename = $meta_data["uri"]; echo $filename;
пример для tmpfile():
"/private/var/folders/v3/n54x13jx5v7610fw9dm0wcxm0000gn/T/phpCJvevP"
пример для fopen ("somefile", "r"):
"test"
Nyes. Afaik в PHP нет функции для этого напрямую. Нона Linux, вы можете сделать$fp = fopen('somefile', 'r'); $stat = fstat($fp); $inode = $stat['ino']; system("find -inum $inode", $result); echo $result;
Это непроверено, поэтому может потребоваться настройка.
EDIT видимо, есть и a простое решение.