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

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

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

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

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

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

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

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

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

Функция для локализации изображения при экспорте статьи

Февраль 29, 2016 г.

За многолетнюю практику работы с Drupal, я накопил целую библиотеку вспомогательных функций. Функция, описываемая в этой статье, используется для копирования ...

Читать

Работа с html select в режиме multiple, отличия от обычного режима

Июнь 9, 2017 г.

HTML select с флагом multiple позволяет сделать выбор нескольких значений. В этой статье мы рассмотрим как правильно обработать данные, используя javascript ...

Читать

PHP: функция преобразования к каноническому пути

Январь 26, 2021 г.

На замену realpath, который работает только с реально существующими файлами и папками UNIX, а также не работающий для ссылок, я написал функцию получения канонического пути. В документации встречается функция eio_realpath, которая требует подключения ...

Читать

CURL выдаёт SSL certificate problem, что делать?

Февраль 12, 2017 г.

Если при отправке запроса через CURL по https, вы получаете следующую ошибку: [crayon-699f0b8fdb14d190770884/] То можно отключить соответствующие проверки, выключив в опциях следующие флаги -SSL_VERIFYHOST, SSL_VERIFYPEER. [crayon-699f0b8fdb153341862441/] ...

Читать
 

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

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



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