Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
 работы с изображения- 
ми, которые работают быстрее, поэтому я не рекомендую вам применять 
PassThru() даже в подобных целях). Давайте рассмотрим пример использования 
этой функции: 
Header("Content-type: image/jpeg"); 
PassThru("cat my_image.jpg"); 
Функция Header(), которую мы рассмотрим в другой главе, сообщает браузеру 
пользователя, что данные поступят в графическом формате JPEG, а последующий 
вызов утилиты cat с параметром — именем файла с рисунком — заставляет систему 
"распечатать" файл в браузер пользователя. 

Глава 19 
Работа с датами 
и временем 
В PHP присутствует полный набор средств, предназначенных для работы с датами и 
временем в различных форматах. Дополнительные модули (входящие в дистрибутив 
PHP) позволяют также работать с календарными функциями и календарями различ- 
ных народов мира. Мы рассмотрим только самые популярные из этих функций. 
Представление времени 
в формате timestamp 
int time() 
Возвращает время в секундах, прошедшее с полуночи 1 января 1970 года по Гринви- 

чу до настоящего момента. Этот формат данных принят в Unix как стандартный: в 
частности, время последнего изменения файлов указывается именно в таком формате 

(как вы, возможно, помните по описанию функции file_mtime()). Вообще говоря, 
почти все функции по работе со временем имеют дело именно с таким его представ- 

лением (которое называется timestamp). То есть представление "количество секунд 
с 1 
января 1970 года весьма универсально и, что главное, — удобно. 
На самом-то деле, timestamp не отражает реальное (астрономическое) число 
секунд с 1 января 1970 года, а немного отличается от него. Впрочем, это нис- 
колько не умаляет преимущества от его использования. 
string microtime() 
Возвращает строку в формате: "микросекунды секунды", где секунды — то, что 
возвращается функцией time(), а микросекунды — дробная часть секунд, служащая 
для более точного измерения промежутков времени. Эта функция работает только в 
системах, которые поддерживают системный вызов gettimeofday(), т. е. практиче- 
ски во всех. 

Глава 19. Работа с датами и временем 281 
С функцией microtime() связано одно недоразумение. Дело в том, что мил- 
лисекунды в различных ОС выглядят по-разному. Например, в Unix это дейст- 
вительно число микросекунд, а в Windows — непонятное значение, связанное 
неизвестно с чем. Возможно, оно все же несет какой-то смысл, но мне до него 
"докопаться", увы, не удалось. 
int mktime([int $hour] [,int $minute] [,int $second] [,int $month] 
[,int $day] [,int $year]) 
До сих пор мы рассматривали функции, которые преобразуют формат timestamp в 
представление, удобное для человека. Существует всего одна функция, которая 
про- 
водит обратное преобразование — mktime(). Как мы видим, все ее параметры не- 
обязательны, но пропускать их можно, конечно же, только справа налево. Если 
какие- 
то параметры не заданы, на их место подставляются значения, соответствующие те- 

кущей дате. Функция возвращает значение timestamp, соответствующее указанной 
дате. 
Правильность даты, переданной в параметрах, не проверяется. В случае 
некорректной 
даты ничего особенного не происходит — функция "делает вид", что это ее не 
касает- 
ся, и формирует соответствующий timestamp. Для иллюстрации рассмотрим три вы- 
зова (два из них — с ошибочной датой), которые тем не менее возвращают один и 
тот 
же результат: 
echo date("M-d-Y", mktime(0,0,0,1,1,1998)); // правильная дата 
echo date("M-d-Y", mktime(0,0,0,12,32,1997)); // неправильная дата 
echo date("M-d-Y", mktime(0,0,0,13,1,1997)); // неправильная дата 
Легко убедиться, что выводятся три одинаковых числа. 
Работа с датами 
string date(string $format [,int $timestamp]) 
Эта функция крайне полезна и весьма универсальна. Она возвращает строку, отфор- 

матированную в соответствии с параметром $format и сформированную на основе 
параметра $timestamp (если последний не задан — то на основе текущей даты). 
Строка формата может содержать обычный текст, перемежаемый одним или не- 
сколькими
 
<<-[Весь Текст]
Страница: из 287
 <<-