1Теория 1Переход в рнр


Скачать 83.68 Kb.
Название 1Теория 1Переход в рнр
Тип Документы
rykovodstvo.ru > Руководство эксплуатация > Документы

1Теория

1.1Переход в РНР


Механизм лексического анализа, используемый при чтении HTML-страницы, должен как-то отличать код РНР от других элементов страницы. Идентификация кода РНР называется «переходом в РНР» (escaping to РНР). Существуют четыре варианта оформления перехода в РНР:

  • стандартные теги;

  • короткие теги;

  • теги script;

  • теги в стиле ASP.

1.1.1Стандартные теги


Стандартные теги используются программистами РНР чаще остальных способов, что объясняется наглядностью и удобством этой формы записи:



У стандартных тегов есть еще одно дополнительное преимущество: за открывающей конструкцией , интерпретируется как код РНР.

1.1.2Короткие теги


Короткие теги обеспечивают наиболее компактную запись для перехода в РНР:



По умолчанию короткие теги не используются, их нужно специально активизировать. Это можно сделать двумя способами: указать ключ -enable-short-tags при компиляции РНР; включить параметр short_open_tag в файл php.ini, находящийся на web-сервере.

1.1.3Теги script


Некоторые текстовые редакторы ошибочно принимают код РНР за код HTML (то есть визуально отображаемый текст), что нарушает работу над web-страницей. Проблема решается использованием тегов script:


1.1.4Теги в стиле ASP


Четвертый и последний способ оформления внедренного кода РНР — теги в стиле ASP (Active Server Page). Они похожи на короткие теги, описанные выше, однако вместо вопросительного знака используется знак процента (%):

<%php print "Welcome to the world of PHP!"; %>

У тегов в стиле ASP есть одна особенность, делающая запись более компактной. Во внедренный код РНР не обязательно включать команду print — знак равенства (=), расположенный сразу же после открывающего тега в стиле ASP, приказывает лексическому механизму РНР вывести значение указанной переменной:

<%=$variable %>

1.1.5Получение данных из полей HTML–формы методом POST


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

My_variable = $_POST[‘field_name’]

При этом переменной с именем My_variable будет присвоено значение поля с именем field_name (или передаваемой переменной с таким именем).

1.2Основные функции PHP

1.2.1date


Функция date необходима для получения текущей даты и времени.

string date (string format, [int timestamp])

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

  • a - "am" или "pm"

  • A - "AM" или "PM"

  • B - время Swatch Internet

  • d - день (число) месяца, 2 цифры с ведущим нулём, если необходимо; т. е. от "01" до "31"

  • D - день недели, буквенный, 3 буквы; например, "Fri"

  • F - месяц, буквенный, long; например, "January"

  • g - час, 12-часовой формат без ведущих нулей; т.е. от "1" до "12"

  • G - час, 24-часовой формат без ведущих нулей; т.е. от "0" до "23"

  • h - час, 12-часовой формат; т.е. от "01" до "12"

  • H - час, 24-часовой формат; т.е. от "00" до "23"

  • i - минуты; т.е. от "00" до "59"

  • I (заглавная i) - "1", если Daylight Savings Time, "0" - в противном случае.

  • j - день (число) месяца без ведущих нулей; т.е. от "1" до "31"

  • l ('L' в нижнем регистре) - день недели, буквенный, long; например, "Friday"

  • L - boolean, указывающее, високосный ли год; т.е. "0" или "1"

  • m - месяц; т.е. от "01" до "12"

  • M - месяц, буквенный, 3 буквы; например, "Jan"

  • n - месяц без ведущих нулей; т.е. от "1" до "12"

  • - Разница с временем по Гринвичу, в часах; например, "+0200"

  • r - RFC 822 формат даты; например, "Thu, 21 Dec 2000 16:01:07 +0200" (введён в PHP 4.0.4)

  • s - секунды; т.е. от "00" до "59"

  • S - простой английский суффикс для дня (числа) месяца, 2 символа; т.е. "st", "nd", "rd" или "th"

  • t - количество дней в данном месяце; т.е. от "28" до "31"

  • T - установка Timezone/Часовой пояс на данной машине; например, "EST" или "MDT"

  • U - секунды эпохи Unix Epoch (начиная с January 1 1970 00:00:00 GMT)

  • w - день недели, числовой, т.е. от "0" (Sunday) до "6" (Saturday)

  • W - ISO-8601 номер недели в году, недели начинаются с понедельника/Monday (введено в PHP 4.1.0)

  • Y - год, 4 цифры; например, "1999"

  • y - год, 2 цифры; например, "99"

  • z - день года; т.е. от "0" до "365"

  • Z - смещение часового пояса, в секундах (т.е. от "-43200" до "43200"). Смещение часовых поясов к западу от UTC всегда отрицательное, а для поясов в востоку от UTC - всегда положительное.


Пример:

$current_date=date("d.m.Y g:i a");

1.2.2explode


Функция explode.

array explode (string separator, string source)

Возвращает массив строк, каждая из которых является подстрокой строки source и сформирована путём разделения строки по границам образованными сепаратором строки separator.

Пример:

list($data_name,$data_post,$data_date)=explode("|", $database);

1.2.3list


Функция присваивает значения переменным, как если бы они были массивом.

Пример:

list($data_name,$data_post,$data_date)=explode("|", $database);

1.3Функции для работы с файлами

1.3.1file_exists


Проверка существования файла.

bool file_exists (string filename)

Функция возвращает TRUE, если файл, специфицированный параметром filename, существует; FALSE в ином случае.

Пример:

file_exists(“test.txt”)

1.3.2filesize


Функция получает размер файла.

int filesize (string filename)

Возвращает размер файла в байтах или FALSE - в случае ошибки.

Пример:

filesize(“test.txt”)

1.3.3fopen


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

int fopen (string filename, string mode)

filename – путь открываемого файла

mode – режим доступа к файлу, может принимать следующие значения:

  • 'r' - Открыть только для чтения; поместить указатель в начало файла.

  • 'r+' - Открыть для чтения и записи; поместить указатель в начало файла.

  • 'w' - Открыть только для записи; поместить указатель в начало файла и усечь файл до нулевой длины. Если файл не существует, делается попытка создать его.

  • 'w+' - Открыть для чтения и записи; поместить указатель в начало файла и усечь файл до нулевой длины. Если файл не существует, делается попытка создать его.

  • 'a' - Открыть только для записи; поместить указатель в конец файла. Если файл не существует, делается попытка создать его.

  • 'a+' - Открыть для чтения и записи; поместить указатель в конец файла. Если файл не существует, делается попытка создать его.

В случае ошибки функция вернёт FALSE, в обратном случае функция вернёт файловый дескриптор.

Пример:

$fh=fopen($my_ile, "a+");

1.3.4fgetss


Функция получает строку из указателя на файл и вырезает тэги HTML.

string fgetss (int fp, int length [, string allowable_tags])

Функция пытается вырезать любые тэги HTML и PHP из текста.

Можно использовать необязательный третий параметр для специфицирования тэгов, которые не должны вырезаться.

Пример:

$data=fgetss($fr, 1024,
);

1.3.5fread


Чтение из открытого файла.

string fread (int fp, int length)

Функция читает length байт из указателя файла, на который ссылается fp. Чтение останавливается, если прочитано length байт или если достигнут EOF (конец файла).

Пример:

$data=fread($fh, 1024)

1.3.6fwrite


Binary-safe запись файла.

int fwrite (int fp, string string [, int length])

Функция записывает содержимое строки string в поток файла, специфицированного указателем fp. Если аргумент length задан, запись будет остановлена после записи length количества байтов или достижения конца string. fwrite возвращает количество записанных байт, или -1 при ошибке.

Пример:

$result = fwrite($fh, $content)

1.3.7fclose


Функция закрывает открытый указатель файла.

bool fclose (int fp)

Закрывается файл, на который указывает fp. Возвращает TRUE при успехе, FALSE при неудаче.

Пример:

$result=fclose($fr)

1.4Регулярные выражения

1.4.1ereg_replace


Функция замещает регулярное выражение.

string ereg_replace (string pattern, string replacement, string source)

Эта функция сканирует source для поиска совпадений с pattern, затем заменяет совпавший текст строкой replacement.

Возвращается модифицированная строка.

Если pattern содержит подстроку в скобках, replacement может содержать подстроки вида \\digit, которые будут заменены текстом, совпавшим с digit'ной подстрокой в скобках; \\0 воспроизведёт всё содержимое строки. Может использоваться до 9 подстрок. Скобки могут вкладываться, и тогда они подсчитываются по открывающим скобкам.

Если совпадения в source не найдены, то source вернётся без изменений.

Пример:

$new_line = ereg_replace("\n","
",$line)

1.4.2eregi


Функция ищет совпадение с регулярным выражением без учёта регистра символов.

int eregi (string pattern, string source, [array regs])

Возвращает TRUE, если найдено совпадение для pattern в source, либо FALSE, если совпадений нет или возникла ошибка.

Пример:

$result=eregi('abc',$line)

1.4.3chop


Функция вырезает пробелы в конце строки.

string chop (string str)

Пример:

$new_line=chop($line)

1.4.4str_replace


Функция замещает все вхождения строки поиска строкой замещения.

mixed str_replace (mixed search, mixed replace, mixed subject)

Эта функция возвращает строку или массив со всеми вхождениями search в subject, заменёнными данным значением replace. Если subject это массив, то поиск и замена выполняется с каждым вхождением subject, а return-значение также является массивом.

Если search и replace это массивы, то str_replace() принимает значение из каждого массива и использует его для поиска и замены в subject. Если replace имеет меньше значений, чем search, то пустая строка используется для остальных замещающих значений. Если search это массив, а replace - строка, то эта строка замещения используется для каждого значения search.

1.5Загрузка файлов на сервер

1.5.1Формы


Файл, который следует загрузить, как правило, находится на машине клиента, т.е. пользователя, обыкновенного посетителя сайта. Место назначения - сервер. Для того чтобы совершить процесс передачи файла, необходимо добавить в заголовок формы параметр:

enctype="multipart/form-data"

При этом в поле action должен быть указан URL php-скрипта, который в дальнейшем будет заниматься обработкой загружаемых файлов.

1.5.2Глобальный массив $_FILES


При написании скрипта, возникает естественный вопрос: как получить информацию о загруженном файле и достучаться до самого файла. Лучше всего будет обратиться к глобальному массиву $_FILES. Для каждого загруженного файла он содержит хеш-массив, со следующими данными:

$_FILES[′userfile′][′name′] - оригинальное имя файла, такое, каким его видел пользователь, выбирая файл;

$_FILES[′userfile′][′type′] - mime/type файла, к примеру, может быть image/gif; это поле полезно сохранить, если Вы хотите предоставлять интерфейс для скачивания загруженных файлов;

$_FILES[′userfile′][′size′] - размер загруженного файла;

$_FILES[′userfile′][′tmp_name′] - полный путь к временному файлу на диске;

$_FILES[′userfile′][′error′] - Начиная с версии 4.2.0, содержит код ошибки, который равен 0, если операция прошла успешно.

2Содержание


1 Теория 1

1.1 Переход в РНР 1

1.1.1 Стандартные теги 1

1.1.2 Короткие теги 1

1.1.3 Теги script 1

1.1.4 Теги в стиле ASP 1

1.1.5 Получение данных из полей HTML–формы методом POST 2

1.2 Основные функции PHP 2

1.2.1 date 2

1.2.2 explode 3

1.2.3 list 3

1.3 Функции для работы с файлами 3

1.3.1 file_exists 3

1.3.2 filesize 3

1.3.3 fopen 4

1.3.4 fgetss 4

1.3.5 fread 4

1.3.6 fwrite 5

1.3.7 fclose 5

1.4 Регулярные выражения 5

1.4.1 ereg_replace 5

1.4.2 eregi 5

1.4.3 chop 6

1.4.4 str_replace 6

1.5 Загрузка файлов на сервер 6

1.5.1 Формы 6

1.5.2 Глобальный массив $_FILES 6

2 Содержание 7

3 Список использованных источников 8

3Список использованных источников


  1. «Изучаем PHP», http://city.tomsk.net (19.07.2006)

  2. И. В. Горкин, «Web programming», http://php.tomsk.ru (19.07.2006)

  3. Материалы сайта http://www.PowerBuilder.sbn.bz «Учебник по основам PHP» 1999 г.

  4. Группа документирования PHP Zend Technologies, «Руководство по PHP», 2000 г.

  5. Всё о программировании, http://cpding.tomsk.ru (со ссылкой на http://excode.ru) (19.07.2006)


Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск