Функции Язык программирования PHP

posix_uname

(PHP 3>= 3.0.10, PHP 4)

posix_uname - получает системное имя.

Описание

array posix_uname (void)

Возвращает хэш строк с информацией о системе. Индексы хэша это:

  • sysname - имя ОС (например, Linux)

  • nodename - системное имя (например, valiant)

  • release - релиз ОС (например, 2.2.10)

  • version - версия (например, #4 Tue Jul 20 17:01:36 MEST 1999)

  • machine - системная архитектура (например, i586)

  • domainname - DNS имя домена (например, php.net)

domainname это GNU-расширение, а не часть POSIX.1, поэтому это поле доступно только в GNU-системах или при использовании GNU libc.

Posix требует, чтобы вы не брали на себя ответственность за формат значений, например, вы не можете полагаться на номера версий из трёх цифр или ещё что-нибудь, возвращаемое этой функцией.


Назад Оглавление Вперёд
posix_ttyname Вверх Функции PostgreSQL

Синтаксис Патэрна

Отличия от Perl

Эти отличия даны относительно Perl 5.005.

  1. По умолчанию пробельным символом считается любой таковой символ, распознаваемый функцией isspace() библиотеки С, хотя возможна компиляция PCRE с альтернативной таблицей типов символов. Нормально isspace() распознаёт space, formfeed, newline, carriage return, horizontal tab и vertical tab. Perl 5 больше не включает vertical tab в набор пробельных символов. Мнемоника \v, которая долгое время была в документации Perl, фактически никогда не распознавалась. Однако сам по себе этот символ рассматривался как пробельный как минимум до версии 5.002. В 5.004 и 5.005 он не соответствует \s.

  2. PCRE не разрешает повторение квантификаторов или опережающих утверждений/lookahead assertions. Perl разрешает их, но они имеют другое значение. Например, (?!a){3} не утверждает, что три последующие символа не "a". Оно просто утверждает три раза, что следующий символ не "a".

  3. Захваты субпатэрнов, которые возникают внутри отрицательного опережающего утверждения, вычисляются, но их вхождения в векторе смещения никогда не устанавливаются. Perl устанавливает свои числовые переменные из любого такого патэрна, который совпадает до неудачи утверждения при совпадении с чем-либо (продолжая таким образом), но только если негативное опережающее утверждение содержит одну ветвь.

  4. Хотя двоичные нулевые символы поддерживаются в строке-субъекте, они не допускаются в строке патэрна, поскольку он передаётся как нормальная C-строка, оканчивающаяся нулём. Замена "\\x00" может использоваться в патэрне для представления бинарного нуля.