Имя файла по handle в PHP

Всем привычна схема, при которой известно имя файла, и вы совершаете с ним какие то манипуляции. В PHP много функций, которые предоставляют именно такой функционал.

Что делать, когда есть только file handle? Как получить имя открытого файла?

В базовом расширении для работы с файловой системой ничего подходящего не нашлось. Мне уже показалось, что следствие зашло в тупик.

Решение было найдено в другом базовом расширении, работающем с потоками. Потоковые функции в качестве аргумента могут принимать file handle.

Для решения нашей проблемы будет полезна функция stream_get_meta_data.

Данный пример выведет что то вроде следующего:

Среди прочих мета-данных мы видим имя временного файла:

Мало букафф? Читайте есчо !

Переводим массив в XML на PHP

Июнь 18, 2018 г.

Итак, как перевести ассоциативный массив в XML? Воспользуемся "родным" для PHP классом SimpleXMLElement. В качестве основного контейнера используем тег <values/>, а  установить UTF-8 кодировку нам поможет небольшая хитрость. Инициализация ...

Читать

Вызов замыкания из другой анонимной функции.

Декабрь 14, 2020 г.

При необходимости использовать (в PHP коде) замыкание (closure) A в коде замыкания B, возникает проблема в области видимости. Т.к. внутри B о функции A ничего не известно. Пример ситуации: [crayon-69dfa2c1b8dec412176432/] Для того чтобы в ...

Читать

Функция сложения двух URL

Август 13, 2013 г.

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

Читать

PHP загрузка файлов через форму

Апрель 30, 2018 г.

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

Читать
 

Комментарии к «Имя файла по handle в PHP»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: