Учебник по основам PHP. PHPBeginner



         

Управление исполнением сценария PHP - часть 7


Если указывается необязательный аргумент leg со значением TRUE, к концу идентификатора будет добавляться «комбинированный хеш энтропии LCG», делающий его значение более уникальным.

Префикс используется для получения уникальных идентификаторов, генерируемых одновременно на разных машинах (когда время одинаковое). Его длина может достигать 114 символов. Если в качестве его значения передается пустая строка, то длина сгенерированного идентификатора будет 13 символов (при lcg=TRUE — 23 символа). < /FONT>

Принято также дообрабатывать полученное значение криптографическими методами (например, это часто делается в идентификаторах сессий).

$token = md5 (uniqid ("")):
// без случайной части
$better_token = md5 (uniqid (randO));
// посложнее

Эти строки генерируют 32 байта (128-битное шестнадцатеричное число): они обладают максимальной уникальностью, которая только может потребоваться.

pack

Пакетирование данных в двоичную строку

string pack (string format [, mixed args ...])

В первом аргументе format указывается строка формата, а в последующих — элементы данных, вносимых в результирующую строку. Алгоритм функции заимствован из Perl и по большей части использует те же коды.

Строка формата состоит из кодов двух видов: кода типа элементов данных и числителя (длины данных или количества элементов данных данного типа), указанного после кода типа. Числитель может быть числом или значением «*» (тогда длина определяется автоматически). Если числитель не указывается, он считается равным 1. Для кодов a, A, h, H числитель указывает количество символов, вносимых в строку данных; а для кода 0 — абсолютную позицию в строке результата, начиная с которой вносятся символы следующего элемента данных.

echo pack("А"."Abe"),"
",pack("A6"."Abe")."|"
,pack("A*"."Abe")."|":
//выводит: A|Abc |Abe|

Допустимы следующие коды типов данных:

  • а — строка, дополняемая нулевым символом (\0);
  • А — строка, дополняемая пробелом;



  • Содержание  Назад  Вперед