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

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

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

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

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

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

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

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

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

Читаем курсы валют, реализация для drupal

Декабрь 5, 2012 г.

Как я писал ранее, хороший информ-сервис, это не куча вариантов виджетов для вашего сайта, а, в наиболее ценном случае, возможность грузить данные информ-сервиса в виде xml. В развитом случае, это целый API для разработчика, с возможностью выборки данных ...

Читать

Поиск и замена терминов. Пример реализации.

Август 15, 2016 г.

Задача поиска и замены каких либо терминов в тексте кажется на первый взгляд довольно простой в PHP.  Есть очень мощные инструменты вроде str_replace, а также поиск и замена с помощью регулярных выражений, например, preg_replace и preg_replace_callback. ...

Читать

Функция сравнения двух строк на PHP

Август 1, 2017 г.

Насколько похожи две строки? В PHP для выяснения подобия строк есть две функции - similar_text() и levenshtein(). Первая из них считает процент ...

Читать

Восстанавливаем объект из состояния __PHP_Incomplete_Class_Name

Декабрь 13, 2014 г.

Объект класса "__PHP_Incomplete_Class" с дополнительным свойством __PHP_Incomplete_Class_Name => 'имя класса' появляется, когда PHP не удается найти объявление класса при операции десериализации объекта. К примеру, такое может происходить при хранении ...

Читать
 

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

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



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