Я пишу объект на PHP, который отображает файлы на FTP-сервере. Я использую встроенные в PHP функции FTP для получения большинства деталей, которые мне нужны (имя файла, размер, последнее изменение и т. Д.). Тем не менее, нет никаких функций, чтобы получить MIME-тип файла на сервере. Я пробовал два разных метода, которые работают, но у меня есть некоторые проблемы.
Использование fileinfo следующим образом занимает 34 секунды, чтобы получить mime-типы из 10 файлов:
$finfo = new finfo(FILEINFO_MIME);
$mime_type = $finfo->file('ftp://username:password@host/path/file');
Использование mime_content_type () для того же действия занимает всего 6 секунд:
$mime_type = mime_content_type('ftp://username:password@host/path/file');
Здесь есть две проблемы, с которыми мне нужна помощь. Первое - это безопасность. При использовании любого из этих методов данные для входа в систему передаются в виде обычного текста (конечно, FTP по своей природе небезопасен, но это только усугубляет ситуацию). Второй вопрос - это скорее лучшая практика. Очевидно, что mime_content_type () является лучшим из этих двух методов, потому что он работает намного лучше, но не рекомендуется. Есть ли лучший и потенциально более безопасный способ сделать это? Я не могу ничего установить на FTP-сервер, поскольку он предназначен для использования на любом FTP-сервере, который хочет его использовать, поэтому об использовании веб-службы не может быть и речи.
Спасибо заранее,
~ Джеймс Армес