Получение стандартного порта для произвольных протоколов в PHP

#php #url #protocols #port

#php #url #протоколы #порт

Вопрос:

Я ищу функцию, которая примет строку, представляющую часть URL-адреса scheme (например, «http», «https», «ftp» и т.д.) и вернет стандартный порт. Это может быть использовано следующим образом:

 echo get_port_from_protocol("http");  // 80
  

В качестве последнего средства, я полагаю, я мог бы написать что-нибудь для синтаксического анализа /etc/services (предполагая, что мне нужно работать только в UNIX-подобных операционных системах).

Но наверняка должно быть что-то встроенное в PHP, нет?

Ответ №1:

 int getservbyname ( string $service , string $protocol )
  

http://php.net/manual/en/function.getservbyname.php

Итак, по сути, вы могли бы сделать

 echo getservbyname("http", "tcp");