Смекни!
smekni.com

Учебник php (стр. 12 из 26)

crypt
Производит симметричное шифрование.


Синтаксис :
string crypt(string str [,string salt]);

В аргументе str задается строка, которую надо зашифровать.
Хеш-код для одной и той же строки, но с различными значениями salt (Кстати, это должна быть обязательно двухсимвольная строка) дает разные результаты. Если параметр salt пропущен, PHP сгенерирует его случайным образом.
В системах, которые поддерживают несколько алгоритмов шифрования, следующие константы устанавливаются равными 1 или 0, в зависимости от того, поддерживается ли данный алгоритм или нет:

· CRYPT_STD_DES - стандартное 2-байтовое DES-шифрование (SALT=2)

· CRYPT_EXT_DES - расширенное 9-байтовое DES-шифрование (SALT=9)

· CRYPT_MD5 - 12-байтовое MD5-шифрование (SALT начинается с $1$)

· CRYPT_BLOWFISH - расширенное 12-байтовое DES-шифрование (SALT начинается с $2$)

Т.к. данная функция использует односторонний алгоритм шифрования, то функции дешифрования не имеется.

metaphone
Производит вычисление метафон-хеша.


Синтаксис :
string metaphone(string str);

Данная функция схожа по действию с soundex(), вычисляет код произношения слова, переданного в строке str, но с повышенной точностью вычисления, т.к. использует правила произношения английского языка.
Возвращаемое строковое значение может быть переменной длины.

soundex
Вычисления хеша сходности произношения.


Синтаксис :
string soundex(string str);

Функция soundex() используется для проверки правописания, когда приблизительно известно как звучит слово, но не известно, как оно пишется, и имеется словарь (база данных), относительно которого можно осуществить проверку.
Возвращается строка из 4 символов: первая буква слова и 3 цифры.

soundex("Euler") == soundex("Ellery") == "E460";soundex("Gauss") == soundex("Ghosh") == "G200";soundex("Hilbert") == soundex("Heilbronn") == "H416";soundex("Knuth") == soundex("Kant") == "K530";soundex("Lloyd") == soundex("Ladd") == "L300";soundex("Lukasiewicz") == soundex("Lissajous") == "L222";

Символические ссылки. Жесткие ссылки

Немного теории

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

Символическая ссылка - это просто бинарный файл специального вида, который содержит ссылку на основной файл. При обращении к такому файлу (например, открытию его на чтение) система "соображает", к какому объекту на самом деле запрашивается доступ, и прозрачно его обеспечивает. Это означает, что мы можем использовать символические ссылки точно так же, как и обычные файлы. Однака иногда нужно бывает работать со ссылкой именно как со ссылкой, а не как с файлом. Для этого и существуют перечисленные ниже функции PHP.

Жесткие ссылки

Создание символической ссылки - не единственный способ задать для одного файла несколько имен. Главный недостаток символических ссылок - существование основного имени файла, на которое все и ссылаются. Попробуйте удалить этот файл - и вся "паутина" ссылок, если таковая имелась, развалиться на куски. Есть и другой недостаток: открытие файла, на который указывает ссылка, происходит несколько медленнее, т.к. системе нужно проанализировать содержимое ссылки и установить связь с "настоящим" файлом. Особенно это чувствуется, если одна ссылка указывает на другую, а та на третью и т.д. уровней на 10.

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

Зарегестрировать новое имя у файла (то есть создать для него жесткую ссылку) можно с помощью функции link(). Ее синтаксис полностью идеентичен функции symlink(), да и работает она по тем же правилам, за исключением того, что создает не символическую, а жесткую ссылку.

readlink
Возвращает имя основного файла.

Синтаксис :
string readlink(string $linkname)

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

symlink
Создает символическую ссылку.

Синтаксис :
bool symlink(string $target, string $link)

Эта функция создает символическую ссылку с именем $link на объект (файл или каталог), заданную в $target. В случае "провала" функция возвращает false.

lstat
Функция собирает вместе всю информацию, выдаваемую операционной системой для указанной ссылки, и возвращает ее в виде массива.

Синтаксис :
array lstat(string $filename)

Функция полностью аналогична вызову stat(), за исключением того, что если $filename задает не файл, а символическую ссылку, будет возвращена информация именно об этой ссылке (а не о файле, на который она указывает, как это делает stat()).

linkinfo
Функция возвращает значение поля "устройство" из результата, выдаваемого функцией lstat().

Синтаксис :
int linkinfo(string $linkname)

Ее обычно задействуют, если хотят определить, существует ли еще объект, на который указывает символическая ссылка в $linkname.

Функции даты и времени

checkdate
Проверяет правильность даты/времени.

Синтаксис :
int checkdate(int month, int day, int year);

Функция checkdate() проверяет правильность даты, заданной в ее аргументах.
Возвращает true если дата, указанная как "month, day, year" (месяц, число, год), правильна, иначе false. Дата считается правильной, если:
- год между 1 и 32767 включительно
- месяц между 1 и 12 включительно
- день находится в диапазоне разрешенных дней данного месяца. Високосныегодыучитываются.

$month=1;$day=10;$year=2002;if(checkdate($month,$day,$year)) echo "Такойденьесть!";else echo "Такого дня нет!";

Выведет: Такой день есть!

$month=13;$day=10;$year=2002;if(checkdate($month,$day,$year)) echo "Такойденьесть!";else echo "Такого дня нет!";

Выведет: Такого дня нет!

date
Формат локального времени/даты.

Синтаксис :
string date(string format [, int timestamp]);

Эта функция возвращает строку, содержащую дату и время, отформатированную согласно строке format и используя временную метку timestamp или текущее локальное время, если не задана временная метка.

В фоматной строке должны использоваться следующие символы:

· a - "до" и "после" полудня: "am" или "pm"

· A - "До" и "После" полудня: "AM" или "PM"

· d - день месяца, 2 цифры (на первом месте ноль) (от 01 до 31)

· D - день недели, текстовый, 3 буквы; т.е. "Fri"

· j - день месяца, 1-2 цифры без начальных нулей (от 1 до 31)

· F - месяц, текстовый, длинный; т.е. "January"

· h - час, 12-часовой формат (от 01 до 12)

· H - час, 24-часовой формат (от 00 до 23)

· g - час, 12-часовой формат без нулей (от 1 до 12)

· G - час, 24-часовой формат без нулей (от 0 до 23)

· i - минуты (от 00 до 59)

· I(большая i) - 1, если действует переход на летнее время, иначе 0

· L - 0, если год не високосный, или 1 в противном случае

· B - Swatch Internet time

· T - временная зона компьютера, например: MDT (доступна не всегда)

· l (строчная "L") - день недели, текстовый, длинный; т.е. "Friday"

· m - месяц, две цифры с нулями (от 01 до 12)

· n - месяц, одна-две цифры без нулей (от 1 до 12)

· M - трехбуквенное английское сокращение месяца; т.е. "Jan"

· t - число дней в указанном месяце (от 28 до 31)

· s - секунды (от 0 до 59)

· S - англоязычный порядковый суффикс числа из двух букв, текстовый, т.е. "th", "nd"

· U - целое число секунд, прошедших с момента начала эпохи UNIX (доступно не всегда)

· Y - год, цифровой, 4 цифры (1999)

· y - год, цифровой, 2 цифры (99)

· w - порядковое число дня в неделе,(от 0-воскресенье до 6-суббота)

· z - порядковое число дня в году (от 0 до 365)

· Z - смешение временной зоны в секунадах (от -43200 до 43200)

Все остальные символы в строковом аргументе format возвращаются в результирующей строке "как есть".
Формат "Z" всегда возвращает 0 при использовании с функцией gmdate().

echo date("Сегодня d.m.Y");//Сегодня 31.01.2002echo date( "l dS of F Y h:i:s A" );// Thursday 31st of January 2002 12:51:19 PMecho "July 1, 2000 is on a " . date("l", mktime(0,0,0,7,1,2000));// July 1, 2000 is on a Saturday

Функции date() и mktime() возможно использовать вместе для того, чтобы найти даты в будущем или прошлом.

$tomorrow = mktime(0,0,0,date("m") ,date("d")+1,date("Y"));$lastmonth = mktime(0,0,0,date("m")-1,date("d"), date("Y"));$nextyear = mktime(0,0,0,date("m"), date("d"), date("Y")+1);

localtime
Получает информацию о дате/времени.

Синтаксис :
array localtime([int timestamp [, bool is_associative]]);

Первый необязательный аргумент этой функции задает метку времени Unix. В случае, если он не указан, то используется текущее время.

Если второй необязательный параметр равен нулю (по умолчанию), то возвращаемый массив будет численно индексирован; в противном случае возвращается ассоциативный массив, где элементы имеют следующие значения:

· ([1])"tm_sec" - секунды

· ([2])"tm_min" - минуты

· ([3])"tm_hours" - часы

· ([4])"tm_mday" - день месяца

· ([5])"tm_mon" - месяц в году

· ([6])"tm_year" - год, цифровой

· ([7])"tm_wday" - день недели

· ([8])"tm_yday" - день в году

· ([9])"tm_isdst" - активен ли переход на летнее время

gettimeofday
Получени даты системным вызовом.

Синтаксис :
array gettimeofday();

Эта функция возвращает ассоциативный массив, который содержит дату, возвращенную системным вызовом. Функция является интерфейсом системной функции gettimeofday(2).
Возвращаемый ассоциативный массив содержит следующие элементы: