Добро пожаловать на мой блог

The world is yours

PHP

автор: admin | Октябрь 14, 2010 | Раздел: Жизнь

Начальный шаблон:

<?

Код

?>

Или

<?phpphp

код

?>

Имя любой переменной начинается со знака доллара. Потом могут идти буквы и цифры и знак подчеркивания.

Объявлением переменной считается присвоение ей первого значения.

$a=3;

$a=”abs”;

Распечатка : echo $a;

Для объявления статической переменной используется ключевое слово static.

Static $c=8;

При использовании глобальной переменной внутри функции, необходимо ее определить следующим образом:

$a=3;

Объявление ее внутри функции:

Function f1()

{

global $a;

echo $a;

}

Константы – константы в языке php определяются ключевым словом const или при помощи функции define().

Например: define(“CONST1”,”10”);

Echo CONST1;

Явное и неявное преобразование –

Явное преобразование определяется в php также как и в C.

PHP имеет широкие возможности по неявному преобразованию.

ДЗ:

Подготовить форму для поступления в ВУЗ! Задействовать все элементы управления.

Чаще всего используется два основных метода передачи  данных:

1.get

2.post

Предназначен для передачи малого количества данных вне не защищенном виде  от глаз пользователя виде.

Имеет заголовок но не имеет тела.

Пример:

http://sitesindex.php?a=1&b=2

состоит из имени вызываемого скрипта и передаваемых ему параметров.

  1. http://sitesindex.php
  2. a=1&b=2

Всегда после скрипта ставятся вопросительный знак, а потом параметры.

Параметры разбиваются на пары, пары разделяются знаком &.

В свою очередь каждый параметр состоит из названия и значения.

Количество параметров ограничивается размером передаваемых данных.

Данный метод может быть легко подделан в адресной строке браузера.

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

В заголовке передается только вызываемый скрипт:

http://sitesindex.php

Все параметры которые будут передаваться все пойдут в теле.

В формах указывается метод по которому будет идти передача данных

Method=”get/post”

Также в формах появляется свойство

Action.

action=”index.php”

Bool isset (mixed) – Позволяет определить существование элемента или элемента массива.

Например:

If(isset($_REQUEST[“a”]))

{

- – - – - – - – - -

}

Если в массиве REQUEST есть индекс а то мы попадем по этому условию.

Подготовить тест психологические не меньше 10 вопросов,с выводом результатов. ОТВЕЧАТЬ да нет

Массивы в языке PHP являются динамическими и ассоциативными.

  1. Создание массива с указанием индекса:

<?

$a[0]=1;

$a[1]=3.14;

$a[“name”]=”step”;

2.Без указания индекса

$b[]=1;

$b[]=2;

$b[9]=3;

$b[]=4;

В случае индекс не указан php определяет его самостоятельно. Для первого индекса он определяется как ноль. Для всех последующих как максимальный целочисленный плюс единица.

  1. При помощи функции Array:

$a=array(0=>1,1=>3.14,”name”=>”step”);

$b=array(1,2,9=>3,4);

Удаление: unset($b[9]);

array_change_key_case — Возвращает массив, символьные ключи которого преобразованы в верхний или нижний регистр символов

array_chunk — Разбить массив на части

array_combine — Создать новый массив, используя один массив в качестве ключей, а другой в качестве соответствующих значений

array_count_values — Подсчитать количество всех значений массива

array_diff_assoc — Вычислить расхождение в массивах с дополнительной проверкой индекса

array_diff_key — Вычислить расхождение в массивах, сравнивая ключи

array_diff_uassoc — Вычислить расхождение в массивах с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем

array_diff_ukey — Вычислить расхождение в массивах, используя функцию обратного вызова для сравнения ключей

array_diff — Вычислить расхождение в массивах

array_fill_keys — Fill an array with values, specifying keys

array_fill — Заполнить массив определенным значением

array_filter — Применяет фильтр к массиву, используя функцию обратного вызова

array_flip — Поменять местами значения массива

array_intersect_assoc — Вычислить схождение массивов с дополнительной проверкой индекса

array_intersect_key — Вычислить пересечение массивов, сравнивая ключи

array_intersect_uassoc — Вычислить пересечение массивов с дополнительной проверкой индекса, осуществляемой при помощи функции, определённой пользователем

array_intersect_ukey — Вычислить пересечение массивов, используя функцию обратного вызова для сравнения ключей

array_intersect — Вычислить схождение массивов

array_key_exists — Проверить, присутствует ли в массиве указанный ключ или индекс

array_keys — Выбрать все ключи массива

array_map — Применить функцию обратного вызова ко всем элементам указанных массивов

array_merge_recursive — Рекурсивно слить два или большее количество массивов

array_merge — Слить два или большее количество массивов

array_multisort — Сортировать несколько массивов или многомерные массивы

array_pad — Увеличить размер массива до заданной величины

array_pop — Извлечь последний элемент массива

array_product — Вычислить произведение значений массива

array_push — Добавить один или несколько элеметов в конец массива

array_rand — Выбрать одно или несколько случайных значений из массива

array_reduce — Итеративно уменьшить массив к единственному значению, используя функцию обратного вызова

array_reverse — Возвращает массив с элементами в обратном порядке

array_search — Осуществляет поиск данного значения в массиве и возвращает соответствующий ключ в случае удачи

array_shift — Извлечь первый элемент массива

array_slice — Выбрать срез массива

array_splice — Удалить последовательность элементов массива и заменить её другой последовательностью

array_sum — Вычислить сумму значений массива

array_udiff_assoc — Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова

array_udiff_uassoc — Вычислить расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов функцию обратного вызова

array_udiff — Вычислить расхождение массивов, используя для сравнения функцию обратного вызова

array_uintersect_assoc — Вычислить пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений функцию обратного вызова

array_uintersect_uassoc — Вычислить пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений функцию обратного вызова

array_uintersect — Вычислить пересечение массивов, используя для сравнения значений функцию обратного вызова

array_unique — Убрать повторяющиеся значения из массива

array_unshift — Добавить один или несколько элементов в начало массива

array_values — Выбрать все значения массива

array_walk_recursive — Рекурсивно применить пользовательскую функцию к каждому элементу массива

array_walk — Применить пользовательскую функцию к каждому члену массива

array — Создать массив

arsort — Отсортировать массив в обратном порядке, сохраняя ключи

asort — Отсортировать массив, сохраняя ключи

compact — Создать массив, содержащий названия переменных и их значения

count — Посчитать количество элементов массива или количество свойств объекта

current — Возвратить текущий элемент массива

each — Возвратить текущую пару ключ/значение из массива и сместить его указатель

end — Установить внутренний указатель массива на его последний элемент

extract — Импортировать переменные из массива в текущую символьную таблицу.

in_array — Проверить, присутствует ли в массиве значение

key — Выбрать ключ из ассоциативного массива

krsort — Отсортировать массив по ключам в обратном порядке

ksort — Отсортировать массив по ключам

list — Присвоить переменным из списка значения подобно массиву

natcasesort — Отсортировать массив, используя алгоритм “natural order” не принимая во внимание регистр символов

natsort — Отсортировать массив, используя алгоритм “natural order”

next — Передвинуть внутренний указатель массива на одну позицию вперёд

pos — Alias of current()

prev — Передвинуть внутренний указатель массива на одну позицию назад

range — Создать массив, содержащий диапазон элементов

reset — Установить внутренний указатель массива на его первый элемент

rsort — Отсортировать массив в обратном порядке

shuffle — Перемешать массив

sizeof — Alias of count()

sort — Отсортировать массив

uasort — Отсортировать массив, используя пользовательскую функцию для сравнения элементов с сохранением ключей

uksort — Отсортировать массив по ключам, используя пользовательскую функцию для сравнения ключей

usort — Отсортировать массив по значениям используя пользовательскую функцию для сравнения элементов

$b[]=1;

$b[]=2;

$b[9]=3;

$b[]=4;

$a=3;

echo”$a”;

echo$a;

echo”{$b[9]}”;

echo”<pre>”;

echo`ipconfig/all`;

echo”</pre>”;

sort

(PHP 4, PHP 5)

sort — Отсортировать массив

Описание

bool sort ( array &$array [, int $sort_flags] )

Эта функция сортирует массив. После завершения работы функции элементы массива будут расположены в порядке возрастания.

Замечание: Эта функция назначает новые ключи для элементов array. Все ранее назначенные значения ключей будут удалены, вернее переназначены.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример 290. Пример использования sort()

<?php

$fruits = array(“lemon”, ”orange”, ”banana”, ”apple”);
sort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
echo ”fruits[" . $key . "] = ” . $val . ”n”;
}

?>

Результат выполнения данного примера:

fruits[0] = apple

fruits[1] = banana

fruits[2] = lemon

fruits[3] = orange

Фрукты отсортированы в алфавитном порядке.

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

Флаги сортировки:

  • SORT_REGULAR – сравнивать элементы нормально (не изменять типы)
  • SORT_NUMERIC – сравнивать элементы в числовом отношении
  • SORT_STRING – сравнивать элементы как строки
  • SORT_LOCALE_STRING – сравнивать элементы как строки, основываясь на текущей локали. Добавлено в PHP 5.0.2

Замечание: Второй параметр был добавлен в PHP 4.

Внимание

Будьте осторожны при сортировке массивов, содержащих элементы разных типов, так как в этом случае результат работы функции sort() может быть непредсказуемым.

rsort

(PHP 4, PHP 5)

rsort — Отсортировать массив в обратном порядке

Описание

bool rsort ( array &$array [, int $sort_flags] )

Эта функция сортирует массив в обратном порядке (от большего к меньшему).

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример 288. Пример использования rsort()

<?php
$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
echo "$key = $val
";
}
?>

Результат выполнения данного примера:

0 = orange
1 = lemon
2 = banana
3 = apple

Названия фруктов были отсортированы по алфавиту в обратном порядке.

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее см. sort().

ksort

(PHP 4, PHP 5)

ksort — Отсортировать массив по ключам

Описание

bool ksort ( array &$array [, int $sort_flags] )

Сортирует массив по ключам, сохраняя отношения между ключами и значениями. Функция полезна, в основном, для работы с ассоциативными массивами.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример 278. Пример использования ksort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
echo "$key = $val
";
}
?>

Результат выполнения данного примера:

a = orange
b = banana
c = apple
d = lemon

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее см. sort().

См. также asort(), arsort(), krsort(), uksort(), sort(), natsort() и rsort().

Замечание: Второй параметр был добавлен в PHP 4.

krsort

(PHP 4, PHP 5)

krsort — Отсортировать массив по ключам в обратном порядке

Описание

bool krsort ( array &$array [, int $sort_flags] )

Сортирует массив по ключам в обратном порядке, сохраняя отношения между ключами и значениями. Функция полезна, в основном, для работы с ассоциативными массивами.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Пример 277. Пример использования krsort()

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
echo "$key = $val
";
}
?>

Результат выполнения данного примера:

d = lemon
c = apple
b = banana
a = orange

Вы можете изменить поведение сортировки, используя дополнительный параметр sort_flags, подробнее см. sort().

natsort

(PHP 4, PHP 5)

natsort — Отсортировать массив, используя алгоритм “natural order”

Описание

void natsort ( array &$array )

Эта функция реализует алгоритм сортировки, при котором порядок буквенно-цифровых строк будет привычным для человека. Такой алгоритм называется “natural ordering”. Отличие алгоритма “natural ordering” от обычных алгоритмов сортировки, применяемых, например, функцией sort() показывает нижеприведённый пример:

Пример 283. Пример использования natsort()

<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

sort($array1);
echo "Обычная сортировка
";
print_r($array1);

natsort($array2);
echo "
Natural order сортировка
";
print_r($array2);
?>

Результат выполнения данного примера:

Обычная сортировка
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)
Natural order сортировка
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

in_array

(PHP 4, PHP 5)

in_array — Проверить, присутствует ли в массиве значение

Описание

bool in_array ( mixed $needle, array $haystack [, bool $strict] )

Ищет в haystack значение needle и возвращает TRUE в случае удачи, FALSE в противном случае.

Если третий параметр strict установлен в TRUE тогда функция in_array() также проверит соответствие types параметра needle и соответствующего значения массива haystack.

Замечание: Если needle – строка, сравнение будет регистрозависмым.

Замечание: В PHP версий, более ранних, чем 4.2.0 параметр needle не может быть массивом.

Пример 273. Пример использования in_array()

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>

Второго совпадения не будет, потому что in_array() регистрозависима, таким образом, программа выведет:

Got Irix

Пример 274. Пример использования in_array() с параметром strict

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
echo "'12.4' found with strict check
";
}

if (in_array(1.13, $a, true)) {
echo "1.13 found with strict check
";
}
?>

Результат выполнения данного примера:

1.13 found with strict check

Пример 275. Пример использования in_array() с массивом в качестве параметра needle

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
echo "'ph' найдено
";
}

if (in_array(array('f', 'i'), $a)) {
echo "'fi' найдено
";
}

if (in_array('o', $a)) {
echo "'o' найдено
";
}
?>

Результат выполнения данного примера:

  'ph' найдено
  'o' найдено

array_walk_recursive

(PHP 5)

array_walk_recursive — Рекурсивно применить пользовательскую функцию к каждому элементу массива

Описание

bool array_walk_recursive ( array $&input, callback $funcname [, mixed $userdata] )

Применяет пользовательскую функцию funcname к каждому элементу массива input. Эта функция обрабатывает каждый элемент многомерного массива. Обычно у функции funcname два параметра. Значение массива array в качестве первого параметра, и ключ/индекс в качестве второго. Если указан дополнительный параметр userdata, он будет передан в качестве третьего параметра в функцию обратного вызова funcname.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Замечание: Если требуется, чтобы функция funcname изменила значения в массиве, определите первый параметр funcname как ссылку. Тогда все изменения будут применены к элементам массива.

Пример 257. Пример использования array_walk_recursive()

<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');

function test_print($item, $key)
{
echo "$key holds $itemn";
}

array_walk_recursive($fruits, 'test_print');
?>

Вывод вышеприведённой программы:

a holds apple
b holds banana
sour holds lemon

Обратите внимание, что ключ ’sweet’ никогда не отображается. Никакой ключ, соответствующий значению типа array, не будет передан в функцию.

Многомерные массивы в PHP

Получаются путем вложения массива в массив.

$a=array(1,2);

$b=array(3,4);

$c=array($a,$b);

Функции в языке PHP:

Function f1($a,$b)

{

}

В отличии от javascript в PHP  функции могут иметь значения по умолчанию.

Functionf1($a,$b=0,$c=0)

Подключение внешних файлов:

<?

Require(“filename.ext”);– Одинаково

Require_once(“filename.ext”);—Одинаково

Include(“filename.ext”);– Одинаково

Include_once(“filename.ext”);— Одинаково

Введение

Эти функции позволяют получить дату и время на сервере, где выполняется PHP скрипт. Используя эти функции, дату и время можно представить в различных форматах.

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

Требования

Эти функции всегда доступны.

Установка

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

Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Предопределенные константы

Данное расширение не определяет никакие константы.

Содержание

checkdate — Проверяет правильность даты по грегорианскому календарю

date_create — Returns new DateTime object

date_date_set — Sets the date

date_default_timezone_get — Gets the default timezone used by all date/time functions in a script

date_default_timezone_set — Sets the default timezone used by all date/time functions in a script

date_format — Returns date formatted according to given format

date_isodate_set — Sets the ISO date

date_modify — Alters the timestamp

date_offset_get — Returns the daylight saving time offset

date_parse — Returns associative array with detailed info about given date

date_sun_info — Returns an array with information about sunset/sunrise and twilight begin/end

date_sunrise — Returns time of sunrise for a given day and location

date_sunset — Returns time of sunset for a given day and location

date_time_set — Sets the time

date_timezone_get — Return time zone relative to given DateTime

date_timezone_set — Sets the time zone for the DateTime object

date — Форматирует системную дату/время

getdate — Возвращает информацию о дате/времени

gettimeofday — Возвращает текущее время

gmdate — Форматирует дату/время по Гринвичу

gmmktime — Возвращает метку времени Unix для времени по Гринвичу

gmstrftime — Форматирует дату/время по Гринвичу с учетом текущей локали

idate — Format a local time/date as integer

localtime — Возвращает системное время

microtime — Возвращает метку времени с микросекундами

mktime — Возвращает метку времени для заданной даты

strftime — Форматирует текущую дату/время с учетом текущей локали

strptime — Parse a time/date generated with strftime()

strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix

time — Возвращает текущую метку времени

timezone_abbreviations_list — Returns associative array containing dst, offset and the timezone name

timezone_identifiers_list — Returns numerically index array with all timezone identifiers

timezone_name_from_abbr — Returns the timezone name from abbrevation

timezone_name_get — Returns the name of the timezone

timezone_offset_get — Returns the timezone offset from GMT

timezone_open — Returns new DateTimeZone object

timezone_transitions_get — Returns all transitions for the timezone

mktime – позволяет прибавлять и отнимать дату и время.

Пользователь вводит дату:

  1. Проверить дату на корректность
  2. Посчитать сколько дней осталось до дня рождения пользователя.

Таблица 15.1. Порядок выполнения операторов

Ассоциативность Оператор
неассоциативна new
правая [
неассоциативна ++ --
неассоциативна ! ~ - (int) (float) (string) (array) (object) @
левая * / %
левая + - .
левая << >>
неассоциативна < <= > >=
неассоциативна == != === !==
левая &
левая ^
левая |
левая &&
левая ||
левая ? :
правая = += -= *= /= .= %= &= |= ^= <<= >>=
левая and
левая xor
левая or
левая ,

Введение

Эти функции предназначены для выполнения различных манипуляций со строками. Более специализированные функции см. в разделах, посвященных регулярным выражениям и обработке URL.

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

Требования

Эти функции всегда доступны.

Установка

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

Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

CRYPT_SALT_LENGTH integer

CRYPT_STD_DES integer

CRYPT_EXT_DES integer

CRYPT_MD5 integer

CRYPT_BLOWFISH integer

HTML_SPECIALCHARS (integer)

HTML_ENTITIES (integer)

ENT_COMPAT (integer)

ENT_QUOTES (integer)

ENT_NOQUOTES (integer)

CHAR_MAX (integer)

LC_CTYPE (integer)

LC_NUMERIC (integer)

LC_TIME (integer)

LC_COLLATE (integer)

LC_MONETARY (integer)

LC_ALL (integer)

LC_MESSAGES (integer)

STR_PAD_LEFT (integer)

STR_PAD_RIGHT (integer)

STR_PAD_BOTH (integer)

Смотрите также

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

Содержание

addcslashes — Экранирует спецсимволы в стиле языка C

addslashes — Экранирует спецсимволы в строке

bin2hex — Преобразует бинарные данные в шестнадцатиричное представление

chop — Псевдоним функции rtrim()

chr — Возвращает символ по его коду

chunk_split — Разбивает строку на фрагменты

convert_cyr_string — Преобразует строку из одной кириллической кодировки в другую

convert_uudecode — Преобразует строку из формата uuencode в обычный вид

convert_uuencode — Преобразует строку в формат uuencode

count_chars — Возвращает информацию о символах, входящих в строку

crc32 — Вычисляет CRC32 для строки

crypt — Необратимое шифрование (хэширование)

echo — Выводит одну или более строк

explode — Разбивает строку на подстроки

fprintf — Записывает отформатированную строку в поток

get_html_translation_table — Возвращает таблицу преобразований, используемую функциями htmlspecialchars() и htmlentities()

hebrev — Преобразует текст на иврите из логической кодировки в визуальную.

hebrevc — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки.

html_entity_decode — Преобразует HTML сущности в соответствующие символы

htmlentities — Преобразует символы в соответствующие HTML сущности.

htmlspecialchars_decode — Преобразует специальные HTML-сущности обратно в соответствующие символы

htmlspecialchars — Преобразует специальные символы в HTML сущности

implode — Объединяет элементы массива в строку

join — Псевдоним функции implode()

levenshtein — Вычисляет расстояние Левенштейна между двумя строками

localeconv — Возвращает информацию о числовых форматах

ltrim — Удаляет пробелы из начала строки

md5_file — Возвращает MD5 хэш файла

md5 — Возвращает MD5 хэш строки

metaphone — Возвращает ключ metaphone для строки

money_format — Форматирует число как денежную величину

nl_langinfo — Возвращает информацию о языке и локали

nl2br — Вставляет HTML код разрыва строки перед каждым переводом строки

number_format — Форматирует число с разделением групп

ord — Возвращает ASCII код символа

parse_str — Разбирает строку в переменные

print — Выводит строку

printf — Выводит отформатированную строку

quoted_printable_decode — Раскодирует строку, закодированную методом quoted printable

quotemeta — Экранирует специальные символы

rtrim — Удаляет пробелы из конца строки

setlocale — Устанавливает локаль

sha1_file — Возвращает SHA1 хэш файла

sha1 — Возвращает SHA1 хэш строки

similar_text — Вычисляет степень похожести двух строк

soundex — Возвращает ключ soundex для строки

sprintf — Возвращает отформатированную строку

sscanf — Разбирает строку в соответствии с заданным форматом

str_getcsv — Parse a CSV string into an array

str_ireplace — Регистро-независимый вариант функции str_replace().

str_pad — Дополняет строку другой строкой до заданной длины

str_repeat — Возвращает повторяющуюся строку

str_replace — Заменяет строку поиска на строку замены

str_rot13 — Выполняет над строкой преобразование ROT13

str_shuffle — Переставляет символы в строке

str_split — Преобразует строку в массив

str_word_count — Возвращает информацию о словах, входящих в строку

strcasecmp — Сравнение строк без учета регистра, безопасное для данных в двоичной форме

strchr — Псевдоним функции strstr()

strcmp — Сравнение строк, безопасное для данных в двоичной форме

strcoll — Сравнение строк с учетом текущей локали

strcspn — Возвращает длину участка в начале строки, не соответствующего маске

strip_tags — Удаляет HTML и PHP тэги из строки

stripcslashes — Удаляет экранирование символов, произведенное функцией addcslashes()

stripos — Возвращает позицию первого вхождения подстроки без учета регистра

stripslashes — Удаляет экранирование символов, произведенное функцией addslashes()

stristr — Регистро-независимый вариант функции strstr().

strlen — Возвращает длину строки

strnatcasecmp — Сравнение строк без учета регистра с использованием алгоритма "естественного упорядочения"

strnatcmp — Сравнение строк с использованием алгоритма "естественного упорядочения"

strncasecmp — Сравнение первых n символов строк без учета регистра, безопасное для данных в двоичной форме

strncmp — Сравнение первых n символов строк без учета регистра, безопасное для данных в двоичной форме

strpbrk — Ищет в строке любой символ из заданного набора

strpos — Возвращает позицию первого вхождения подстроки

strrchr — Находит последнее вхождение подстроки

strrev — Переворачивает строку

strripos — Возвращает позицию последнего вхождения подстроки без учета регистра

strrpos — Возвращает позицию последнего вхождения символа

strspn — Возвращает длину участка в начале строки, соответствующего маске

strstr — Находит первое вхождение подстроки

strtok — Разбивает строку

strtolower — Преобразует строку в нижний регистр

strtoupper — Преобразует строку в верхний регистр

strtr — Преобразует заданные символы

substr_compare — Безопасное для обработки данных в двоичной форме сравнение 2 строк со смещением, с учетом или без учета регистра

substr_count — Возвращает число вхождений подстроки

substr_replace — Заменяет часть строки

substr — Возвращает подстроку

trim — Удаляет пробелы из начала и конца строки

ucfirst — Преобразует первый символ строки в верхний регистр

ucwords — Преобразует в верхний регистр первый символ каждого слова в строке

vfprintf — Write a formatted string to a stream

vprintf — Выводит отформатированную строку

vsprintf — Возвращает отформатированную строку

wordwrap — Выполняет перенос строки на данное количество символов с использованием символа разрыва строки.

Select *from users where login=’user’ or 1—‘and password=’$p’  -sql иньекция J

/*echo `ipconfig` ;  */ J

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

XLI. Функции для работы с файловой системой

Введение

Требования

Никакие внешние библиотеки не требуются для сборки этого расширения, но если вы хотите, чтобы PHP поддерживал LFS (large files, большие файлы) в Linux, вам нужно иметь последнюю версию glibc и скомпилировать PHP со следующими флагами компилятора: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.

Установка

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

Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Таблица 87. Директивы конфигурации для файловых систем и потоков

Имя Значение по умолчанию Область изменения
allow_url_fopen "1" PHP_INI_SYSTEM
user_agent NULL PHP_INI_ALL
default_socket_timeout "60" PHP_INI_ALL
from NULL ??
auto_detect_line_endings "Off" PHP_INI_ALL

Краткое разъяснение конфигурационных директив.

allow_url_fopen boolean

Данная директива включает поддержку упаковщиков URL (URL wrappers), которые позволяют работать с объектами URL, как с обычными файлами. Упаковщики, доступные по умолчанию, служат для работы с удаленными файлами с использованием протокола ftp или http. Некоторые расширения, например, zlib, могут регистрировать собственные упаковщики.

Замечание: Эта настройка может быть установлена только в php.ini из соображений безопасности.

Замечание: Эта директива была представлена сразу же после выхода PHP версии 4.0.3. В этой и в последующих версиях эта функциональность может быть отключена только во время компиляции PHP с помощью ключа --disable-url-fopen-wrapper.

Внимание

В версиях PHP, более ранних, чем 4.3.0, для платформ Windows, поддержка работы с удаленными файлами отсутствует для следующих функций: include(), include_once(), require(), require_once() и функции imagecreatefromXXX расширения Image.

user_agent string

Устанавливает строку "User-Agent" для использования ее PHP при запросах к удаленным серверам.

default_socket_timeout integer

Значение таймаута (в секундах) для потоков, использующих сокеты.

Замечание: Данная директива стала доступна с версии PHP 4.3.0

from="joe@example.com" string

Устанавливает пароль для анонимного доступа к серверу ftp (ваш адрес электронной почты).

auto_detect_line_endings boolean

Когда данная директива включена, PHP проверяет данные, получаемые функциями fgets() и file() с тем, чтобы определить способ завершения строк (Unix, MS-Dos или Macintosh).

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

Замечание: Эта директива стала доступна с версии PHP 4.3.0

Типы ресурсов

Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

GLOB_BRACE (integer)

GLOB_ONLYDIR (integer)

GLOB_MARK (integer)

GLOB_NOSORT (integer)

GLOB_NOCHECK (integer)

GLOB_NOESCAPE (integer)

PATHINFO_DIRNAME (integer)

PATHINFO_BASENAME (integer)

PATHINFO_EXTENSION (integer)

PATHINFO_FILENAME (integer)

Появилась в PHP 5.2.0.

FILE_USE_INCLUDE_PATH (integer)

FILE_APPEND (integer)

FILE_IGNORE_NEW_LINES (integer)

FILE_SKIP_EMPTY_LINES (integer)

Смотрите также

Описания родственных функций вы сможете найти в главах Каталог и Выполнение программ.

За списком упаковщиков URL и пояснениями обращайтесь к главе Приложение O, List of Supported Protocols/Wrappers.

Содержание

basename — Возвращает имя файла из указанного пути

chgrp — Изменяет группу владельцев файла

chmod — Изменяет режим доступа к файлу или каталогу

chown — Изменяет владельца файла

clearstatcache — Очищает кэш состояния файлов

copy — Копирует файл

delete — См.описание функции unlink() или unset()

dirname — Возвращает имя каталога из указанного пути

disk_free_space — Получить размер доступного пространства в каталоге

disk_total_space — Возвращает объем каталога

diskfreespace — Псевдоним функции disk_free_space()

fclose — Закрывает дескриптор файла

feof — Проверяет, достигнут ли конец файла

fflush — Сброс буфера вывода в файл

fgetc — Считывает символ из файла

fgetcsv — Читает строку из файла и производит разбор данных CSV

fgets — Читает строку из файла

fgetss — Прочитать строку из файла и отбросить HTML-теги

file_exists — Проверить наличие указанного файла или каталога

file_get_contents — Получить содержимое файла в виде одной строки

file_put_contents — Записать строку в файл

file — Читает содержимое файла и помещает его в массив

fileatime — Получить время последнего доступа к файлу

filectime — Получить время последнего изменения i-узла

filegroup — Получить идентификатор группы файла

fileinode — Получить номер inode файла

filemtime — Получить время последнего изменения файла

fileowner — Получить идентификатор владельца файла

fileperms — Получить информацию о правах на файл

filesize — Получить размер файла

filetype — Получить тип файла

flock — Портируемое рекомендательное запирание файлов

fnmatch — Совпадает ли имя файла с шаблоном

fopen — Открывает файл или URL

fpassthru — Выводит все оставшиеся данные из файлового указателя

fputcsv — Форматирует строку в виде CSV и записывает её в файловый указатель

fputs — Псевдоним функции fwrite()

fread — Бинарно-безопасное чтение файла

fscanf — Обрабатывает данные из файла в соответствии с форматом

fseek — Устанавливает смещение в файловом указателе

fstat — Получает информацию о файле используя открытый файловый указатель

ftell — Сообщает текущее смещение чтения/записи файла

ftruncate — Урезает файл до указанной длинны

fwrite — Бинарно-безопасная запись в файл

glob — Находит файловые пути, совпадающие с шаблоном

is_dir — Определает, является ли файл директорией

is_executable — Определяет, является ли файл исполняемым

is_file — Определяет, является ли файл обычным файлом

is_link — Определяет, является ли файл символической ссылкой

is_readable — Определяет, доступен ли файл для чтения

is_uploaded_file — Определяет, был ли файл загружен при помощи HTTP POST

is_writable — Определяет, доступен ли файл для записи

is_writeable — Псевдоним функции is_writable()

lchgrp — Changes group ownership of symlink

lchown — Changes user ownership of symlink

link — Создаёт жёсткую ссылку

linkinfo — Получает информацию о ссылке

lstat — Получает информацию о файле или символической ссылке

mkdir — Создаёт директорию

move_uploaded_file — Перемещает загруженный файл в новое место

parse_ini_file — Обрабатывает конфигурационный файл

pathinfo — Возвращает информацию о пути к файлу

pclose — Закрывает файловый указатель процесса

popen — Открывает файловый указатель процесса

readfile — Выводит файл

readlink — Возвращает файл, на который указывает символическая ссылка

realpath — Возвращает канонизированный абсолютный путь к файлу

rename — Переименовывает файл или директорию

rewind — Сбрасывает курсор у файлового указателя

rmdir — Удаляет директорию

set_file_buffer — Псевдоним функции stream_set_write_buffer()

stat — Получает информацию о файле

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

tempnam — Создаёт файл с уникальным именем

tmpfile — Создаёт временный файл

touch — Устанавливает время доступа и модификации файла

umask — Изменяет текущую umask

unlink — Удаляет файл

Написать систему тестирования, по одному вопросу на страницу.

Ответы указываются радио кнопками.Вопросы и ответы вычитываются из текстового файла.Система имеет форму регистрации.Результаты тестирования записываются в отдельный текстовый файл.

ФИО вопрос ответ.

PHPSESSID – сохраняется на стороне клиента в памяти.

Файл на сервере которые хранят кода – scss_код

session_start

(PHP 4, PHP 5)

session_start — Initialize session data

Описание

bool session_start ( void )

session_start() creates a session or resumes the current one based on the current session id that's being passed via a request, such as GET, POST, or a cookie.

If you want to use a named session, you must call session_name() before calling session_start().

session_start() will register internal output handler for URL rewriting when trans-sid is enabled. If a user uses ob_gzhandler or like with ob_start(), the order of output handler is important for proper output. For example, user must register ob_gzhandler before session start.

Возвращаемые значения

This function always returns TRUE.

Список изменений

Версия Описание
4.3.3 As of now, calling session_start() while the session has already been started will result in an error of level E_NOTICE. Also, the second session start will simply be ignored.

Примеры

Пример 2141. A session example: page1.php

<?php
// page1.php

session_start();

echo 'Welcome to page #1';

$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();

// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';

// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>

After viewing page1.php, the second page page2.php will magically contain the session data. Read the session reference for information on propagating session ids as it, for example, explains what the constant SID is all about.

Пример 2142. A session example: page2.php

<?php
// page2.php

session_start();

echo 'Welcome to page #2<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);

// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>

Примечания

Замечание: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

Замечание: Use of zlib.output_compression is recommended rather than ob_gzhandler()

$_SESSION=array();

Session_destroy;  -уничтожить сессию.

XXX. Функции для работы с каталогами

Введение

Требования

Эти функции всегда доступны.

Установка

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

Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Типы ресурсов

Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

DIRECTORY_SEPARATOR (строка)

PATH_SEPARATOR (строка)

Смотрите также

За описанием сопутствующих функций, таких, как dirname(), is_dir(), mkdir() и rmdir(), обратитесь к главе Файловая система.

Содержание

chdir — Сменить каталог

chroot — Сменить корневой каталог

dir — Класс directory

closedir — Освободить дескриптор каталога

getcwd — Получить имя текущего рабочего каталога

opendir — Открыть каталог

readdir — Получить элемент каталога по его дескриптору

rewinddir — Сбросить дескриптор каталога

scandir — Получить список файлов и каталогов, расположенных по указанному пути


ДЗ- реализовать веб-проводник

Наследование осуществляется при помощи extends

<?php
class Named_Cart extends Cart {
var $owner;

function set_owner ($name) {
$this->owner = $name;
}
}
?>

Конструкторы – представляет собой метод по имени точно же такой как и класс.

::   - позволяет нам достучаться к свойству или методу не имея объекта.

<?php
class Constructor_Cart extends Cart {
function Constructor_Cart($item = "10", $num = 1) {
$this->add_item ($item, $num);
}
}

// Shop the same old boring stuff.
$default_cart = new Constructor_Cart;

// Shop for real...
$different_cart = new Constructor_Cart("20", 17);
?>

<?php
class A {
function example() {
echo "I am A::example() and provide basic functionality.<br />n";
}
}

class B extends A {
function example() {
echo "I am B::example() and provide additional functionality.<br />n";
parent::example();
}
}

$b = new B;

// This will call B::example(), which will in turn call A::example().
$b->example();
?>

Пример 19.7. Autoload example

This example attempts to load the classes MyClass1 and MyClass2 from the files MyClass1.php and MyClass2.php respectively.

<?php
function __autoload($class_name) {
require_once $class_name . '.php';
}

$obj  = new MyClass1();
$obj2 = new MyClass2();
?>

Конструкторы и деструкторы

Constructor

PHP 5 позволяет объявлять методы-конструкторы. Классы, в которых объявлен метод-констуктор, будут вызывать этот метод при каждом создании нового объекта, так что это может оказаться полезным, чтобы, например, инициализировать какое-либо состояние объекта перед его использованием.

Замечание: Конструкторы в классах-родителях не вызываются автоматически. Чтобы вызвать конструктор, объявленный в родительском классе, следует обратиться к методу parent::__construct().

Пример 19.8. Использование унифицированных конструкторов

<?php
class BaseClass {
function __construct() {
print "Конструктор класса BaseClassn";
}
}

class SubClass extends BaseClass {
function __construct() {
parent::__construct();
print "Конструктор класса SubClassn";
}
}

$obj = new BaseClass();
$obj = new SubClass();
?>

Если PHP 5 не может обнаружить объявленный метод __construct(), вызов конструктора произойдет по прежней схеме, через обращение к методу, имя которого соответствует имени класса. Может возникнуть только одна проблема совместимости старого кода, если в нём присутствуют классы с методами __construct().

Деструкторы

PHP 5 предоставляет концепцию деструкторов, сходную с теми, что применяются в других ОО языках, таких, как Java: когда освобождается последняя ссылка на объект, перед высвобождением памяти, занимаемой этим объектом, вызывается метод __destruct(), не принимающий параметров.

Пример 19.9. Пример использования деструктора

<?php
class MyDestructableClass {
function __construct() {
print "Конструкторn";
$this->name = "MyDestructableClass";
}

function __destruct() {
print "Уничтожается " . $this->name . "n";
}
}

$obj = new MyDestructableClass();
?>

Как и в случае с конструкторами, деструкторы, объявленные в родительском классе, не будут вызваны автоматически. Для вызова деструктора, объявленном в классе-родителе, следует обратиться к методу parent::__destruct().

Visibility

The visibility of a property or method can be defined by prefixing the declaration with the keywords: public, protected or private. Public declared items can be accessed everywhere. Protected limits access to inherited and parent classes (and to the class that defines the item). Private limits visibility only to the class that defines the item.

Members Visibility

Class members must be defined with public, private, or protected.

Пример 19.10. Member declaration

<?php
/**
* Define MyClass
*/
class MyClass
{
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private';

function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}

$obj = new MyClass();
echo $obj->public; // Works
echo $obj->protected; // Fatal Error
echo $obj->private; // Fatal Error
$obj->printHello(); // Shows Public, Protected and Private

/**
* Define MyClass2
*/
class MyClass2 extends MyClass
{
// We can redeclare the public and protected method, but not private
protected $protected = 'Protected2';

function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}

$obj2 = new MyClass2();
echo $obj2->public; // Works
echo $obj2->private; // Undefined
echo $obj2->protected; // Fatal Error
$obj2->printHello(); // Shows Public, Protected2, Undefined

?>

Замечание: The PHP 4 method of declaring a variable with the var keyword is still supported for compatibility reasons (as a synonym for the public keyword). In PHP 5 before 5.1.3, its usage would generate an E_STRICT warning.

Method Visibility

Class methods must be defined with public, private, or protected. Methods without any declaration are defined as public.

Пример 19.11. Method Declaration

<?php
/**
* Define MyClass
*/
class MyClass
{
// Contructors must be public
public function __construct() { }

// Declare a public method
public function MyPublic() { }

// Declare a protected method
protected function MyProtected() { }

// Declare a private method
private function MyPrivate() { }

// This is public
function Foo()
{
$this->MyPublic();
$this->MyProtected();
$this->MyPrivate();
}
}

$myclass = new MyClass;
$myclass->MyPublic(); // Works
$myclass->MyProtected(); // Fatal Error
$myclass->MyPrivate(); // Fatal Error
$myclass->Foo(); // Public, Protected and Private work

/**
* Define MyClass2
*/
class MyClass2 extends MyClass
{
// This is public
function Foo2()
{
$this->MyPublic();
$this->MyProtected();
$this->MyPrivate(); // Fatal Error
}
}

$myclass2 = new MyClass2;
$myclass2->MyPublic(); // Works
$myclass2->Foo2(); // Public and Protected work, not Private

class Bar
{
public function test() {
$this->testPrivate();
$this->testPublic();
}

public function testPublic() {
echo "Bar::testPublicn";
}

private function testPrivate() {
echo "Bar::testPrivaten";
}
}

class Foo extends Bar
{
public function testPublic() {
echo "Foo::testPublicn";
}

private function testPrivate() {
echo "Foo::testPrivaten";
}
}

$myFoo = new foo();
$myFoo->test(); // Bar::testPrivate
// Foo::testPublic
?>

::

"Paamayim Nekudotayim" или просто "двойное двоеточие". Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса.

При обращении к этим элементам извне класса, программист должен использовать имя этого класса.

"Paamayim Nekudotayim" на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали именно это обозначение. "Paamayim Nekudotayim" действительно значит "двойное двоеточие". На иврите. Просто это обозначение не менялось ни разу в течение всего времени разработки PHP.

Пример 19.12. Использование :: вне объявления класса

<?php
class MyClass {
const CONST_VALUE = 'Значение константы';
}
echo MyClass::CONST_VALUE;
?>

Для обращения к свойствам и методам в объявлении класса используются ключевые слова self и parent.

Пример 19.13. Использование :: в объявлении класса

<?php
class OtherClass extends MyClass {
public static $my_static = 'статическая переменная';

public static function doubleColon() {
echo parent::CONST_VALUE . "n";
echo self::$my_static . "n";
}
}

OtherClass::doubleColon();
?>

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

Пример 19.14. Обращение к методу в родительском классе

<?php
class MyClass {

protected function myFunc() {
echo "MyClass::myFunc()n";
}
}

class OtherClass extends MyClass {

/* Override parent's definition */
public function myFunc() {

/* But still call the parent function */
parent::myFunc();
echo "OtherClass::myFunc()n";
}
}

$class = new OtherClass();
$class->myFunc();
?>

Абстрактные классы

PHP 5 поддерживает определение абстрактных классов и методов. Создавать экземпляр класса, который был объявлен абстрактным, нельзя. Класс, в котором объявлен хотя бы один абстрактный метод, должен также быть объявлен абстрактным. Методы, объявленные как абстрактные, несут, по существу, лишь описательный смысл и не могут включать какой-либо функционал.

Пример 19.18. Пример абстрактного класса

<?php

abstract class AbstractClass {

/* Данный метод должен быть определён в дочернем классе */
abstract protected function getValue();

/* Общий метод */
public function print() {
print $this->getValue();
}

}

class ConcreteClass1 extends AbstractClass {

protected function getValue() {
return "ConcreteClass1";
}

}

class ConcreteClass2 extends AbstractClass {

protected function getValue() {
return "ConcreteClass2";
}

}

$class1 = new ConcreteClass1;
$class1->print();

$class2 = new ConcreteClass2;
$class2->print();
?>

Код, предназначенный для прежних версий PHP, должен работать без изменений, если в нём отсутствуют классы или функции, именованные "abstract".

Задание: написать класс пользователь, класс тест, класс вопрос. Реализовать тестирование при помощи указанных классов.

Должно быть: пользователь(имя запиalOgbU]XUI-:[Paa@R^_`^aHR^_`^aLI-BUabHX]d^LWP_XakRPUb@a^QkbXX__@8@bT_I@@USc[o`]kU@Rk`PVU]XU@M@\^i]^U@a`UTabR^@_^XaZP@X@^Q`PQ^bZX@bUZabPN---))QN@?@54AB02;5=8O@A8<2>;>2--|。)WRcZ^R^Y@aXS]P[-|「)WPQ^Y@HQmZa_UYaI-|・)maZUY_-|ョ)_U`UR^T@ab`^ZX-|イ)R^WR`Pb@Zc`a^`P-|ヲ)_^TPgP@ab`P]Xfk@H]^RPo@ab`P]XfPI-|エ)S^`XW^]bP[l]Po@bPQc[ofXo-|クnn)HUab]PTfPbU`Xg]^U@W]PgU]XU--))RN@A8<2>;L=K5@:;0AAK@8@0=0;>38G=K5@:>=AB@C:F88--{NNN})R\Uab^@b`^Ub^gXo@_XhUblao@aX\R^[N@>TX]@aX\R^[@_U`UgXa[U]kY@oR]^@X[X@Re^ToiXY@R@WPTP]]kY@X]bU`RP[N-){。「}@QcTUb@。@X[X@「-){。MコaMzPMY})\^VUb@Qkbl@[nQPo@[PbX]aZPo@QcZRP@[XQ^@fXd`P--{~NNN})^TX]@aX\R^[@]U_U`UgXa[U]]kY@oR]^@X[X@]URe^ToiXY@R@WPTP]]kY@X]bU`RP[--{ZZ[PaaZ})aX\R^[l]kY@Z[Paa@posix--)。ャョオュ)QcZRk@X@fXd`k-)。ャーィ。)QcZRk-)「ャ。ョォ)_`^QU[@X[X@bPQc[ofXo-)」ョエイャ)c_`PR[oniXU@aX\R^[k-)、ゥァゥエ)TUaobXg]kU@fXd`k-)ァイ。ーィ)_UgPb]kU@aX\R^[k@WP@XaZ[ngU]XU\@_`^QU[^R-)ャッキ・イ)QcZRk@]XV]US^@`USXab`P-)ーイゥョエ)_UgPb]kU@aX\R^[k@RZ[ngPo@_`^QU[-)ーオョ」エ)_UgPb]kU@aX\R^[k@WP@XaZ[ngU]XU@QcZR@X@fXd`-)ウー。」・)_`^_caZX-)オーー・イ)QcZRk@RU`e]US^@`USXab`P-)ク、ゥァゥエ)QVM`Xg]kU@fXd`k--|キ)aX\R^[@a[^RP){。MコaMzPMY}-|w)]U@aX\R^[@a[^RP){~。MコaMzPMY}-|、)fXd`P)){PMY}-|d)]U@fXd`P){~PMY}-|ウ)_`^_caZ)){|ョ|イ|ヲ|エ@}-|s)]U@_`^_caZ){~|ョ|イ|ヲ|エ@}---))SN@O:>@=K5@<5B0A8<2>;K@8@?>78F8>==K5@?@>25@:8--~)=PgP[^@bUZabP@X[X@_^WXfXo@_^a[U@R]cb`U]]US^@_U`UR^TP@ab`^ZX@H]PgP[^@[^SXgUaZ^Y@ab`^ZXI@R@\]^S^ab`^g]^\@`UVX\U@Oュ-|a@)=PgP[^@bUaZbP@R^@RaUe@`UVX\Pe-D@):^]Uf@bUZabP@X[X@_^WXfXo@_U`UT@R]b`U]]X\@_U`UR^T^\@ab`^ZX@HZ^]Uf@[^SXgUaZ^Y@ab`^ZXI@R@\]^S^ab`^g]^\@`UVX\U@Oュ-|z@):^]Uf@bUZabP@X[X@_^WXfXo@_U`UT@WPRU`hPniX\@_U`UR^T^\@ab`^ZX@R^@RaUe@`UVX\Pe-|コ@):^]Uf@bUZabP@R^@RaUe@`UVX\Pe-|「@)3`P]XfP@a[^RPN@_^WXfXo@\UVTc@aX\R^[^\@a[^RP@H|キI@X@aX\R^[^\@]U@a[^RP@H|wI-|b@)?^WXfXo@]U@oR[oniPoao@S`P]XfUY@a[^RP---))TN@:^\\U]bP`XX@X@\^TXdXZPb^`k@`UVX\^R---ゥ)@?^XaZ@QUW@cgUbP@`USXab`^R@aX\R^[^R-ュ@~@X@D)@a^R_PTPnb@a@R]cb`U]]X\X@_U`UR^TP\X@ab`^ZXH\]^S^ab`^g]kY@`UVX\I-ウ@)@7]PZ@Bb^gZPB@a^R_PTPUb@a@[nQk\X@aX\R^[P\XL@RZ[ngPo@WPRU`hU]XU@ab`^ZX-ク@)@@UVX\@aR^Q^T]^S^@d^`\PbX`^RP]Xo@HXS]^`X`^RP]XU@_`^_caZ^R@X@Xa_^[lW^RP]XU@R]cb`U]]Xe@Z^\\U]bP`XURI--H_CNNNI@@>abPb^Z@ab`^ZX@X]bU`_`XbX`cUbao@ZPZ@Z^\\U]bP`XY-CNNN)@>abPb^Z@ab`^ZX@X]bU`_`XbX`cUbao@ZPZ@Z^\\U]bP`XY@R@`UVX\U@aR^Q^T]^S^@d^`\PbX`^RP]Xo---))UN@3`c__X`^RZXL@a^e`P]U]XoL@ca[^R]kU@X@c_`PR[oniXU@Z^ab`cZfXX---HNNNI)@)3`c__X`^RZP@_^TRk`PVU]XY-NNNシNNN@@)>T]^@XW@]UaZ^[lZXe@_^TRk`PVU]XY@@@_`X\U`@H。シ「I@X[X@。@X[X@「-J@))A^R_PTU]XU@P@X[X@Q^[UU@`PW-K@))A^R_PTU]XU@Q@X[X@Q^[UU@`PW-_@))A^R_PTU]XU@Q@X[X@P@`PW-サョス@))A^R_PTU]XU@ab`^S^@n@`PW-サョLス@))A^R_PTU]XU@]U@\U]XU@n@`PW-サクLケス@))A^R_P]XU@ab`^S^@^b@ク@T^@ケ@`PW-J_@))A^R_PTU]XU@P@X[X@Q^[UU@`PWH\X]X\P[l]^@R^W\^V]^U@Z^[MR^I-K_@))A^R_PTU]XU@Q@X[X@Q^[UU@`PWH\X]X\P[l]^@R^W\^V]^U@Z^[MR^I-__@))A^R_PTU]XU@Q@X[X@P@`PWH\X]X\P[l]^@R^W\^V]^U@Z^[MR^I-サョLス_@))A^R_PTU]XU@]U@\U]XU@n@`PWH\X]X\P[l]^@R^W\^V]^U@Z^[MR^I-サクLケス_@))A^R_P]XU@ab`^S^@^b@ク@T^@ケ@`PWH\X]X\P[l]^@R^W\^V]^U@Z^[MR^I-JK@))A^R_PTU]XU@P@X[X@Q^[UU@`PWHQUW@R^WR`PbPI-KK@))A^R_PTU]XU@Q@X[X@Q^[UU@`PWHQUW@R^WR`PbPI-_K@))A^R_PTU]XU@Q@X[X@P@`PW@HQUW@R^WR`PbPI-サョスK@))A^R_PTU]XU@ab`^S^@n@`PWHQUW@R^WR`PbPI-サクLケスK@))A^R_P]XU@ab`^S^@^b@ク@T^@ケ@`PWHQUW@R^WR`PbPI--H_p\X\o^I@)A^e`P]U]XU@a^R_PRhUS^@bUZabP@a@WPTP]]k\@X\U]U\N-|ョ))BUZabL@a^R_PRhXY@a@ョM^Y@_P`^Ya^e`P]oniXe@aZ^Q^Z@X[X@X\U]^RP]]^Y@a^e`P]oniUY@S`c__^Y----))VN@DC=:F88--ーイ・ァ⦅ュ。エ」ィ@4@2k_^[]oUb@_`^RU`Zc@]P@a^^bRUbabRXU@`USc[o`]^\c@Rk`PVU]XnN@]Pe^TXb@b^[lZ^@Q@a^R_PTU]XUN-->_XaP]XU-ュゥク・、@ーイ・ァ⦅ュ。エ」ィ@H@ウエイゥョァ@Dー。エエ・イョL@ウエイゥョァ@Dウオ「ェ・」エ@{L@。イイ。ケ@DFュ。エ」ィ・ウ@{L@ゥョエ@Dヲャ。ァウ@{L@ゥョエ@Dッヲヲウ・エ}}}@I--8iUb@R@WPTP]]^\@bUZabU@ウオ「ェ・」エ@a^R_PTU]Xo@a@hPQ[^]^\@ー。エエ・イョN@5a[X@ca_Uh]^@RU`]Ub@QN@5a[X@a^R_PTU]XY@]U]PYTU]^@R^WR`PiPUb@PN@5a[X@]PYTU]P@^hXQZP@R@hPQ[^]U@R^WR`PiPUblao@ヲ。ャャウ@---ウエイゥョァ@Dー。エエ・イョ@)M@hPQ[^]L@^QoWPbU[l]kY@_P`P\Ub`-ウエイゥョァ@Dウオ「ェ・」エ))M@bUZab@R@Z^b^`^\@XTUb@_^XaZ-。イイ。ケ@DFュ。エ」ィ・ウ))M@\PaaXR@a^R_PTU]XY-ゥョエ@Dヲャ。ァウ))M@d[PSX-)preg⦅offset⦅capture)M@WPeRPbkRPUblao@]U@b[lZ^@a^R_PTU]XU@]^@X@_^WXfXo@R@Z^b^`^Y@^]^@Qk[^@]PYTU]^-ゥョエ@Dッヲヲウ・エ))M@a\UiU]XU@_^WXfXX@]PgP[P@_^XaZP---Ab`cZbc`P@\PaaXRP@a^R_PTU]XYZ@2@a[cgPU@Ua[X@d[PS@preg⦅offset⦅capture@]U@cZPWP]@R@P@m[U\U]bU@[UVXb@a^R_PTU]XU@a^@RaU\@hPQ[^]ом, в 1м совпадение с 1м подшаблоном и тд.

Если указан вышеуказаный флаг элементы массива совпадений содержат массив в котором храниться строка и позиция.

Премеры:

-?d+[.|,]?d+

d{1,2}([-. /])d{1,2}1d{2,4}

Например $p=”рег.выраж/режимы”;

0 – полный шаблон

1- 1й подшаблон

2 -2й ------

И тд

ДЗ

Парсить документ

Ссылка Картинка – название –цена

imagecreate

(PHP 4, PHP 5)

imagecreate — Create a new palette based image

Описание

resource imagecreate ( int $width, int $height )

imagecreate() returns an image identifier representing a blank image of specified size.

We recommend the use of imagecreatetruecolor().

Список параметров

width

The image width

height

The image height

Возвращаемые значения

Returns an image resource identifier on success, FALSE on errors.

Примеры

Пример 925. Creating a new GD image stream and outputting an image.

<?php
header("Content-type: image/png");
$im = @imagecreate(110, 20)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

<img src=”pic.php”/>

В этом скрипте только этот скрипт должен быть и ничего постороннего.

Скрипт состоит из :

<?

Заголовок

Создание изображений

Рисование

Отправка изображения

уничтожение

?>

Функция создания изображений:

Imagecreate – функция создающая пустой холст

Imagecreatetruecolor

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

Разница они поддерживают разное кол цветов.

Imagecreate -256 цветов

Imagecreatetruecolor – 24 бита

F1() or die(“message”);

gd_info — Retrieve information about the currently installed GD library

getimagesize — Get the size of an image

image_type_to_extension — Get file extension for image type

image_type_to_mime_type — Get Mime-Type for image-type returned by getimagesize, exif_read_data, exif_thumbnail, exif_imagetype

image2wbmp — Output image to browser or file

imagealphablending — Set the blending mode for an image

imageantialias — Should antialias functions be used or not

imagearc — Draws an arc

imagechar — Draw a character horizontally

imagecharup — Draw a character vertically

imagecolorallocate — Allocate a color for an image

imagecolorallocatealpha — Allocate a color for an image

imagecolorat — Get the index of the color of a pixel

imagecolorclosest — Get the index of the closest color to the specified color

imagecolorclosestalpha — Get the index of the closest color to the specified color + alpha

imagecolorclosesthwb — Get the index of the color which has the hue, white and blackness nearest to the given color

imagecolordeallocate — De-allocate a color for an image

imagecolorexact — Get the index of the specified color

imagecolorexactalpha — Get the index of the specified color + alpha

imagecolormatch — Makes the colors of the palette version of an image more closely match the true color version

imagecolorresolve — Get the index of the specified color or its closest possible alternative

imagecolorresolvealpha — Get the index of the specified color + alpha or its closest possible alternative

imagecolorset — Set the color for the specified palette index

imagecolorsforindex — Get the colors for an index

imagecolorstotal — Find out the number of colors in an image's palette

imagecolortransparent — Define a color as transparent

imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset

imagecopy — Copy part of an image

imagecopymerge — Copy and merge part of an image

imagecopymergegray — Copy and merge part of an image with gray scale

imagecopyresampled — Copy and resize part of an image with resampling

imagecopyresized — Copy and resize part of an image

imagecreate — Create a new palette based image

imagecreatefromgd2 — Create a new image from GD2 file or URL

imagecreatefromgd2part — Create a new image from a given part of GD2 file or URL

imagecreatefromgd — Create a new image from GD file or URL

imagecreatefromgif — Create a new image from file or URL

imagecreatefromjpeg — Create a new image from file or URL

imagecreatefrompng — Create a new image from file or URL

imagecreatefromstring — Create a new image from the image stream in the string

imagecreatefromwbmp — Create a new image from file or URL

imagecreatefromxbm — Create a new image from file or URL

imagecreatefromxpm — Create a new image from file or URL

imagecreatetruecolor — Create a new true color image

imagedashedline — Draw a dashed line

imagedestroy — Destroy an image

imageellipse — Draw an ellipse

imagefill — Flood fill

imagefilledarc — Draw a partial ellipse and fill it

imagefilledellipse — Draw a filled ellipse

imagefilledpolygon — Draw a filled polygon

imagefilledrectangle — Draw a filled rectangle

imagefilltoborder — Flood fill to specific color

imagefilter — Applies a filter to an image

imagefontheight — Get font height

imagefontwidth — Get font width

imageftbbox — Give the bounding box of a text using fonts via freetype2

imagefttext — Write text to the image using fonts using FreeType 2

imagegammacorrect — Apply a gamma correction to a GD image

imagegd2 — Output GD2 image to browser or file

imagegd — Output GD image to browser or file

imagegif — Output image to browser or file

imagegrabscreen — Captures the whole screen

imagegrabwindow — Captures a window

imageinterlace — Enable or disable interlace

imageistruecolor — Finds whether an image is a truecolor image

imagejpeg — Output image to browser or file

imagelayereffect — Set the alpha blending flag to use the bundled libgd layering effects

imageline — Draw a line

imageloadfont — Load a new font

imagepalettecopy — Copy the palette from one image to another

imagepng — Output a PNG image to either the browser or a file

imagepolygon — Draws a polygon

imagepsbbox — Give the bounding box of a text rectangle using PostScript Type1 fonts

imagepsencodefont — Change the character encoding vector of a font

imagepsextendfont — Extend or condense a font

imagepsfreefont — Free memory used by a PostScript Type 1 font

imagepsloadfont — Load a PostScript Type 1 font from file

imagepsslantfont — Slant a font

imagepstext — Draws a text over an image using PostScript Type1 fonts

imagerectangle — Draw a rectangle

imagerotate — Rotate an image with a given angle

imagesavealpha — Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images

imagesetbrush — Set the brush image for line drawing

imagesetpixel — Set a single pixel

imagesetstyle — Set the style for line drawing

imagesetthickness — Set the thickness for line drawing

imagesettile — Set the tile image for filling

imagestring — Draw a string horizontally

imagestringup — Draw a string vertically

imagesx — Get image width

imagesy — Get image height

imagetruecolortopalette — Convert a true color image to a palette image

imagettfbbox — Give the bounding box of a text using TrueType fonts

imagettftext — Write text to the image using TrueType fonts

imagetypes — Return the image types supported by this PHP build

imagewbmp — Output image to browser or file

imagexbm — Output XBM image to browser or file

iptcembed — Embed binary IPTC data into a JPEG image

iptcparse — Parse a binary IPTC block into single tags.

jpeg2wbmp — Convert JPEG image file to WBMP image file

png2wbmp — Convert PNG image file to WBMP image file

@- отключает ошибки

imagecolorallocate

(PHP 4, PHP 5)

imagecolorallocate — Allocate a color for an image

Описание

int imagecolorallocate ( resource $image, int $red, int $green, int $blue )

Returns a color identifier representing the color composed of the given RGB components.

imagecolorallocate() must be called to create each color that is to be used in the image represented by image.

Замечание: The first call to imagecolorallocate() fills the background color in palette-based images - images created using imagecreate().

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component

green

Value of green component

blue

Value of blue component

These parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Возвращаемые значения

A color identifier or FALSE if the allocation failed.

Список изменений

Версия Описание
Prior to 5.1.3 Returns -1 if the allocation failed.

Примеры

Пример 915. imagecolorallocate() example

<?php

$im = imagecreate(100, 100);

// sets background to red
$background = imagecolorallocate($im, 255, 0, 0);

// sets some colors
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// hexadecimal way
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

?>

imagecolorat

(PHP 4, PHP 5)

imagecolorat — Get the index of the color of a pixel

Описание

int imagecolorat ( resource $image, int $x, int $y )

Returns the index of the color of the pixel at the specified location in the image specified by image.

If PHP is compiled against GD library 2.0 or higher and the image is a truecolor image, this function returns the RGB value of that pixel as integer. Use bitshifting and masking to access the distinct red, green and blue component values:

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

x

x-coordinate of the point

y

y-coordinate of the point

Возвращаемые значения

Returns the index of the color.

Примеры

Пример 917. Access distinct RGB values

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>

Результатом выполнения данного примера будет что-то подобное:

int(119)
int(123)
int(180)

imagecolorset

(PHP 4, PHP 5)

imagecolorset — Set the color for the specified palette index

Описание

void imagecolorset ( resource $image, int $index, int $red, int $green, int $blue )

This sets the specified index in the palette to the specified color. This is useful for creating flood-fill-like effects in palleted images without the overhead of performing the actual flood-fill.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

index

An index in the palette

red

Value of red component

green

Value of green component

blue

Value of blue component

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

imagecolortransparent

(PHP 4, PHP 5)

imagecolortransparent — Define a color as transparent

Описание

int imagecolortransparent ( resource $image [, int $color] )

Sets the transparent color in the given image.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

color

A color identifier created with imagecolorallocate()

Возвращаемые значения

The identifier of the new (or current, if none is specified) transparent color is returned.

Примечания

Замечание: Transparency is copied only with imagecopymerge() and true color images, not with imagecopy() or pallete images.

Замечание: The transparent color is a property of the image, transparency is not a property of the color. Once you have set a color to be the transparent color, any regions of the image in that color that were drawn previously will be transparent.

imagecolorstotal

(PHP 4, PHP 5)

imagecolorstotal — Find out the number of colors in an image's palette

Описание

int imagecolorstotal ( resource $image )

Returns the number of colors in an image palette.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

Возвращаемые значения

Returns the number of colors in the specified image's palette or 0 for truecolor images.

Смотрите также

Imagearc –дуга

imagechar — Draw a character horizontally

imagecharup — Draw a character vertically

imagedashedline — Draw a dashed line

imageellipse — Draw an ellipse

imagefill — Flood fill

imagerectangle — Draw a rectangle

imagepolygon — Draws a polygon

imagestring — Draw a string horizontally

imagestringup — Draw a string vertically

в четных иксы а в нечетных игрики

imagedestroy

(PHP 4, PHP 5)

imagedestroy — Destroy an image

Описание

bool imagedestroy ( resource $image )

imagedestroy() frees any memory associated with image image.

Список параметров

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

ДЗ сделать висилицу и тест и рег.выражения.

Висилицу сделать частями от параметра

Pic.php?error=6

COOKIE

setcookie

(PHP 4, PHP 5)

setcookie — Send a cookie

Описание

bool setcookie ( string $name [, string $value [, int $expire [, string $path [, string $domain [, bool $secure [, bool $httponly]]]]]] )

setcookie() defines a cookie to be sent along with the rest of the HTTP headers. Like other headers, cookies must be sent before any output from your script (this is a protocol restriction). This requires that you place calls to this function prior to any output, including <html> and <head> tags as well as any whitespace.

Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays. Note, superglobals such as $_COOKIE became available in PHP 4.1.0. $HTTP_COOKIE_VARS has existed since PHP 3. Cookie values also exist in $_REQUEST.

Список параметров

All the arguments except the name argument are optional. You may also replace an argument with an empty string ("") in order to skip that argument. Because the expire argument is integer, it cannot be skipped with an empty string, use a zero (0) instead.

See » Netscape cookie specification for specifics on how each setcookie() parameter works

name

The name of the cookie.

value

The value of the cookie. This value is stored on the clients computer; do not store sensitive information. Assuming the name is 'cookiename', this value is retrieved through $_COOKIE['cookiename']

expire

The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).

Замечание: You may notice the expire parameter takes on a Unix timestamp, as opposed to the date format Wdy, DD-Mon-YYYY HH:MM:SS GMT, this is because PHP does this conversion internally.

expire is compared to the client's time which can differ from server's time.

path

The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.

domain

The domain that the cookie is available. To make the cookie available on all subdomains of example.com then you'd set it to '.example.com'. The . is not required but makes it compatible with more browsers. Setting it to www.example.com will make the cookie only available in the www subdomain. Refer to tail matching in the » spec for details.

secure

Indicates that the cookie should only be transmitted over a secure HTTPS connection from the client. When set to TRUE, the cookie will only be set if a secure connection exists. The default is FALSE. On the server-side, it's on the programmer to send this kind of cookie only on secure connection (e.g. with respect to $_SERVER["HTTPS"]).

httponly

When TRUE the cookie will be made accessible only through the HTTP protocol. This means that the cookie won't be accessible by scripting languages, such as JavaScript. This setting can effectly help to reduce identity theft through XSS attacks (although it is not supported by all browsers). Added in PHP 5.2.0. TRUE or FALSE

Возвращаемые значения

If output exists prior to calling this function, setcookie() will fail and return FALSE. If setcookie() successfully runs, it will return TRUE. This does not indicate whether the user accepted the cookie.

Примеры

Some examples follow how to send cookies:

Пример 1521. setcookie() send example

<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>

Note that the value portion of the cookie will automatically be urlencoded when you send the cookie, and when it is received, it is automatically decoded and assigned to a variable by the same name as the cookie name. If you don't want this, you can use setrawcookie() instead if you are using PHP 5. To see the contents of our test cookie in a script, simply use one of the following examples:

<?php
// Print an individual cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);
?>

Пример 1522. setcookie() delete example

When deleting a cookie you should assure that the expiration date is in the past, to trigger the removal mechanism in your browser. Examples follow how to delete cookies sent in previous example:

<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>

Пример 1523. setcookie() and arrays

You may also set array cookies by using array notation in the cookie name. This has the effect of setting as many cookies as you have array elements, but when the cookie is received by your script, the values are all placed in an array with the cookie's name:

<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />n";
}
}
?>

Результат выполнения данного примера:

three : cookiethree
two : cookietwo
one : cookieone

Примечания

Замечание: As of PHP 4, you can use output buffering to send output prior to the call of this function, with the overhead of all of your output to the browser being buffered in the server until you send it. You can do this by calling ob_start() and ob_end_flush() in your script, or setting the output_buffering configuration directive on in your php.ini or server configuration files.

Замечание: If the PHP directive register_globals is set to on then cookie values will also be made into variables. In our examples below, $TestCookie will exist. It's recommended to use $_COOKIE.

Common Pitfalls:

  • Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires. Expire time is set via the expire parameter. A nice way to debug the existence of cookies is by simply calling print_r($_COOKIE);.
  • Cookies must be deleted with the same parameters as they were set with. If the value argument is an empty string, or FALSE, and all other arguments match a previous call to setcookie, then the cookie with the specified name will be deleted from the remote client.
  • Because setting a cookie with a value of FALSE will try to delete the cookie, you should not use boolean values. Instead, use 0 for FALSE and 1 for TRUE.
  • Cookies names can be set as array names and will be available to your PHP scripts as arrays but separate cookies are stored on the users system. Consider explode() to set one cookie with multiple names and values. It is not recommended to use serialize() for this purpose, because it can result in security holes.

In PHP 3, multiple calls to setcookie() in the same script will be performed in reverse order. If you are trying to delete one cookie before inserting another you should put the insert before the delete. As of PHP 4, multiple calls to setcookie() are performed in the order called.

Замечание: Microsoft Internet Explorer 4 with Service Pack 1 applied does not correctly deal with cookies that have their path parameter set.

Netscape Communicator 4.05 and Microsoft Internet Explorer 3.x appear to handle cookies incorrectly when the path and time are not set.

$_COOKIE['cookiename']

<?php

// set the cookies

setcookie("cookie[my]", "LOGAN");

// after the page reloads, print them out

if (isset($_COOKIE['cookie'])) {

foreach ($_COOKIE['cookie'] as $name => $value) {

echo "$name : $value <br />n";

}

}

?>

ДЗ:

Hangman

Рег.вЫраЖениЯ

Тест

Вывод аватара

MySQL

mysql_connect

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_connect — Открывает соединение с сервером MySQL

Описание

resource mysql_connect ( [string $server [, string $username [, string $password [, bool $new_link [, int $client_flags]]]]] )

Возвращает указатель на соединение с MySQL в случае успешного выполнения, или FALSE при неудаче.

mysql_connect() устанавливает соединение с сервером MySQL. Следующие значения по умолчанию установлены для отсутствующих параметров: server = 'localhost:3306', username = имя пользователя владельца процесса сервера и password = пустой пароль.

Параметр server может также включать номер порта, к примеру "hostname:port" или путь к сокету, к примеру ":/path/to/socket" для локального сервера.

Замечание: При указании параметру server значения "localhost" или "localhost:port" клиентская библиотека MySQL будет пытаться соединиться с локальным сокетом. Если вы всё же хотите использовать TCP/IP, используйте адрес "127.0.0.1" вместо "localhost". Если клиентская библиотека пытается подключиться не к тому локальному сокету, это можно исправить через указание директивы mysql.default_host в конфигурации PHP, после чего можно оставлять параметр server пустым.

Поддержка указания порта через ":port" была добавлена в PHP 3.0B4.

Поддержка указания локального сокета как ":/path/to/socket" была добавлена в PHP 3.0.10.

Подавить вывод ошибок можно добавив @ в начало названия функции (@mysql_connect())

Если второй вызов функции произошёл с теми же аргументами mysql_connect(), новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect() открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто. Параметр client_flags должен быть комбинацией из следующих констант: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVE.

Замечание: Параметр new_link добавлен в PHP 4.2.0

Параметр client_flags добавлен PHP 4.3.0

Соединение с сервером будет закрыто при завершении исполнения скрипта, если до этого оно не будет закрыто с помощью функции mysql_close().

Пример 1341. Пример использования mysql_connect()

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password")
or die("Could not connect: " . mysql_error());
print ("Connected successfully");
mysql_close($link);
?>

mysql_pconnect

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL.

Описание

resource mysql_pconnect ( [string $server [, string $username [, string $password [, int $client_flags]]]] )

Возвращает указатель на постоянное соединение с MySQL или FALSE, в случае ошибки.

mysql_pconnect() устанавливает постоянное соединение с сервером MySQL. Следующие значения по умолчанию установлены для отсутсвующих параметров: server = 'localhost:3306', username = имя пользователя владельца процесса сервера и password = пустой пароль. Параметр client_flags может быть комбинацией следующих констант: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVE.

Параметр server может также включать номер порта, к примеру "hostname:port" или путь к сокету, к примеру ":/path/to/socket" для локального сервера.

Замечание: Поддержка указания порта через ":port" была добавлена в PHP 3.0B4.

Поддержка указания локального сокета как ":/path/to/socket" была добавлена в PHP 3.0.10.

mysql_pconnect() работает аналогично mysql_connect() с двумя отличиями.

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

Во-вторых, соединение с SQL-сервером не будет закрыто, когда работа скрипта закончится. Вместо этого, оно останется рабочим для будущего использования (mysql_close() также не закрывает постоянные соединения)

Опциональный параметр client_flags появился в PHP 4.3.0.

Соединения такого типа называют 'постоянными'.

Замечание: Учтите, что соединения такого типа работают только, если PHP установлен как модуль. За дополнительной информацией обращайтесь к разделу Постоянные Соединения с Базами Данных.

Внимание

Использование устойчивых соединений может потребовать некоторой настройки Apache и MySQL. Убедитесь, что вы не превысите максимальное число дозволенных соединений.

mysql_close

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_close — Закрывает соединение с сервером MySQL

Описание

bool mysql_close ( [resource $link_identifier] )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

mysql_close() закрывает соедиение с базой данных MySQL, на которое указывает переданный указатель. Если параметр link_identifier не указан, закрывается последнее открытое (текущее) соединение.

Использование mysql_close() не необходимо для непостоянных соединений. Они автоматически закрываются в конце скрипта. См. также высвобождение ресурсов.

Замечание: mysql_close() не может закрывать постоянные соединения, открытые функцией mysql_pconnect().

Пример 1340. Пример использования

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password")
or die("Could not connect: " . mysql_error());
print ("Connected successfully");
mysql_close($link);
?>

mysql_select_db

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_select_db — Выбирает базу данных MySQL

Описание

bool mysql_select_db ( string $database_name [, resource $link_identifier] )

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

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

Каждый последующий вызов функции mysql_query() будет работать с выбранной базой данных.

Пример 1374. Пример использования mysql_select_db()

<?php

$lnk = mysql_connect('localhost', 'mysql_user', 'mysql_password')
or die ('Not connected : ' . mysql_error());

// сделать foo текущей базой данных
mysql_select_db('foo', $lnk) or die ('Can't use foo : ' . mysql_error());

?>

См. также mysql_connect(), mysql_pconnect() и mysql_query().

Для совместимости, как алиас, доступна устаревшая функцмия mysql_selectdb(). Однако, использовать её крайне не рекомендуется.

mysql_fetch_row

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_fetch_row — Орабатывает ряд результата запроса и возвращает неассоциативный массив.

Описание

array mysql_fetch_row ( resource $result )

Возвращает массив, содержашей данные обработанного ряда, или FALSE, если рядов больше нет.

mysql_fetch_row() обрабатывает один ряд результата, на который ссылается переданный указатель. Ряд возвращается в массиве. Каждая колонка распологается в следующей ячейке массива. Массив начинается с индекса 0.

Последующие вызовы функции mysql_fetch_row() вернут следующие ряды или FALSE, если рядов не осталось.

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

См. также mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object(), mysql_data_seek(), mysql_fetch_lengths() и mysql_result().

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5, PECL mysql:1.0)

mysql_fetch_assoc — Обрабатывает ряд результата запроса и возвращает ассоциативный массив.

Описание

array mysql_fetch_assoc ( resource $result )

Возвращает ассоциативный массив с названиями индексов, соответсвующими названиям колонок или FALSE если рядов больше нет.

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

Если несколько колонок в запросе имеют одинаковые имена, значение ключа массива с индексом названия колонок будет равно значению последней из колонок. Чтобы работать с первыми, используйте функции, возвращающие не ассоциативный массив: mysql_fetch_row(), либо используйте алиасы. Смотрите пример использования алиасов в SQL в описании функции mysql_fetch_array().

Важно заметить, что mysql_fetch_assoc() работает НЕ медленнее, чем mysql_fetch_row(), предоставляя более удобный доступ к данным.

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

Пример 1352. Расширенный пример использования mysql_fetch_assoc()

<?php

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conn) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}

if (!mysql_select_db("mydbname")) {
echo "Unable to select mydbname: " . mysql_error();
exit;
}

$sql = "SELECT id as userid, fullname, userstatus
FROM   sometable
WHERE  userstatus = 1";

$result = mysql_query($sql);

if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}

if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}

// До тех пор, пока в результате содержатся ряды, помещаем их в
// ассоциативный массив.
// Заметка: если запрос возвращает только один ряд -- нет нужды в цикле.
// Заметка: если вы добавите extract($row); в начало цикла, вы сделаете
//          доступными переменные $userid, $fullname, $userstatus.
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}

mysql_free_result($result);

?>

mysql_fetch_array

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_fetch_array — Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба.

Описание

array mysql_fetch_array ( resource $result [, int $result_type] )

Возвращает массив с обработанным рядом результата запроса, или FALSE, если рядов больше нет.

mysql_fetch_array() расширенная версия функции mysql_fetch_row(). В дополнении к хранению значений в массиве с численными индексами, функция возвращает значения в массиве с индексами по названию колонок.

Если несколько колонок в результате будут иметь одинаковые названия, последняя колонка будет возвращена. Чтобы получить доступ к первым, используйте численные индексы массива или алиасы в запросе. В случае алиасов используйте именно их -- вы не сможете использовать настоящие имена колонок, как например не сможете использовать 'field' в нижеописанном примере.

Пример 1348. Запрос с дублирующимися именами колонок

select table1.field as foo, table2.field as bar from table1, table2

Важно заметить, что mysql_fetch_array() работает НЕ медленнее, чем mysql_fetch_row(), в то время, как предоставляет более удобный доступ к данным.

Второй опциональный аргумент result_type в функции mysql_fetch_array() -- константа и может принимать следующие значения: MYSQL_ASSOC, MYSQL_NUM и MYSQL_BOTH. Эта возможность добавлена в PHP 3.0.7. Значением по умолчанию является: MYSQL_BOTH.

Используя MYSQL_BOTH, вы получите массив, состоящий как из ассоциативных индексов, так и из численных. MYSQL_ASSOC вернёт только ассоциативные соответствия (аналогично функции mysql_fetch_assoc() и MYSQL_NUM только численные (аналогично функции mysql_fetch_row()).

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

Пример 1349. mysql_fetch_array() с MYSQL_NUM

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("ID: %s  Name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

Пример 1350. mysql_fetch_array() с MYSQL_ASSOC

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf ("ID: %s  Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

Пример 1351. mysql_fetch_array() с MYSQL_BOTH

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("ID: %s  Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

См. также mysql_fetch_row() и mysql_fetch_assoc().

mysql_fetch_object

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_fetch_object — Обрабатывает ряд результата запроса и возвращает объект

Описание

object mysql_fetch_object ( resource $result )

Возвращает объект со свойствами, соответствующими колонкам в обработанном ряду или FALSE, если рядов больше нет.

mysql_fetch_object() работает аналогично mysql_fetch_array(), с единственным отличием -- функция возвращает объект, вместо массива. Это, кроме всего прочего, означает, что вы сможете работать с полями только по имени колонок. Числа не могут быть свойствами объекта.

Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

<?php

/* корректно */
echo $row->field;
/* не корректно */
echo $row->0;

?>

В плане скорости эта функция аналогична mysql_fetch_array() и почти также быстра, как mysql_fetch_row() (разница незначительна).

Пример 1354. Пример использования mysql_fetch_object()

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);
?>

См. также mysql_fetch_array(), mysql_fetch_assoc() и mysql_fetch_row().

mysql_free_result

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_free_result — Освобождает память от результата запроса

Описание

bool mysql_free_result ( resource $result )

mysql_free_result() высвободит всю память, занимаемую результатом, на который ссылается переданный функции указатель result.

mysql_free_result() нуждается в вызове только в том случае, если вы всерьёз обеспокоены тем, сколько памяти используют ваши запросы к БД, возвращающие большое количество данных. Вся память, используемая для хранения этих данных автоматически очистится в конце работы скрипта.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Для совместимости, как алиас, доступна устаревшая функция mysql_freeresult(). Однако, использовать её крайне не рекомендуется.


mysql_num_rows

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_num_rows — Возвращает количество рядов результата запроса

Описание

int mysql_num_rows ( resource $result )

mysql_num_rows() возвращает количество рядов результата запроса. Эта команда работает только с запросами SELECT. Чтобы получить количество рядов, обработанных функцями INSERT, UPDATE, DELETE, используйте функцию mysql_affected_rows().

Пример 1367. Пример использования mysql_num_rows()

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rowsn";

?>

Замечание: При использовании mysql_unbuffered_query() функция mysql_num_rows() не вернёт корректного значения до тех пор, пока все ряды не будут получены.

См. также mysql_affected_rows(), mysql_connect(), mysql_data_seek(), mysql_select_db() и mysql_query().

Для совместимости, как алиас, доступна устаревшая функция mysql_numrows(). Однако, использовать её крайне не рекомендуется.

mysql_affected_rows

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_affected_rows — Возвращает число затронуиых прошлой операцией рядов.

Описание

int mysql_affected_rows ( [resource $link_identifier] )

mysql_affected_rows() возвращает количество рядов, затронутых последним INSERT, UPDATE, DELETE запросом к серверу, на который ссылается указатель link_identifier. Если ресурс не указан, функция использует последнее, успешное соединение, выполненное с помощью функции mysql_connect().

Замечание: При использовании транзакций mysql_affected_rows() надо вызывать после INSERT, UPDATE, DELETE запроса, но не после подтверждения.

Если последний запрос был DELETE без указания WHERE и, соответственно, таблица была очищена, функция вернёт ноль (0).

Замечание: При использовании UPDATE, MySQL не обновит колонки, уже содержащие новое значение. Вследствие этого, функция mysql_affected_rows() не всегда возвращает количество рядов, подошедших по условия, только количество рядов, обновлённых запросом.

mysql_affected_rows() не работает с SELECT -- только с запросами, модифицирующими таблицу. Чтобы получить количество рядов, возвращённых SELECT-запросом, используйте функцию mysql_num_rows().

Если последний запрос был неудачным, функция вернёт -1.

Пример 1337. DELETE-запрос

<?php
/* соединямеся с базой данных */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

/* здесь функция вернёт корректное число удалённых записей */
mysql_query("DELETE FROM mytable WHERE id < 10");
printf ("Records deleted: %dn", mysql_affected_rows());

/* без указания WHERE в запросе, функция всегда возвращает 0  */
mysql_query("DELETE FROM mytable");
printf ("Records deleted: %dn", mysql_affected_rows());
?>

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

Records deleted: 10
Records deleted: 0

Пример 1338. UPDATE-запрос

<?php
/* соединямеся с базой данных */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

/* Обновляем ряды */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %dn", mysql_affected_rows());
mysql_query("COMMIT");
?>

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

Updated Records: 10

mysql_errno

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_errno — Возвращает численный код ошибки выполнения последней операции с MySQL

Описание

int mysql_errno ( [resource $link_identifier] )

Возвращает код ошибки последней функции работы с MySQL, или 0 (ноль) если операция выполнена успешно.

Ошибки работы с MySQL больше не вызывают сообщений в PHP. Вместо этого используйте функцию mysql_errno(), чтобы получить код ошибки. Учтите, что функция возвращает код ошибки только последней выполненной функции (исключая mysql_error() и mysql_errno()). Проверяйте результат работы функции до вызова следующей.

Пример 1345. Пример использования mysql_errno()

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb");
echo mysql_errno() . ": " . mysql_error(). "n";

mysql_select_db("kossu");
mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno() . ": " . mysql_error() . "n";
?>

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

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Замечание: Если опциональный параметр указан, будет использовано соединение, на которое он указывает. В противном случае, будет использовано последнее открытое.

См. также mysql_error().

mysql_error

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_error — Возвращает строку ошибки последней операции с MySQL.

Описание

string mysql_error ( [resource $link_identifier] )

Возвращает строку, содержащую текст ошибки выполнения последней функции MySQL, или '' (пустая строка) если операция выполнена успешно. Если в функцию не передан параметр ссылки на соединение, последнее открытое соединение будет использовано.

Ошибки работы с MySQL больше не вызывают сообщений в PHP. Вместо этого используйте функцию mysql_errno(), чтобы получить код ошибки. Учтите, что функция возвращает код ошибки только последней выполненной функции (исключая mysql_error() и mysql_errno()). Проверяйте результат работы функции до вызова следующей.

Пример 1346. Пример использования mysql_error

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb");
echo mysql_errno() . ": " . mysql_error(). "n";

mysql_select_db("kossu");
mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno() . ": " . mysql_error() . "n";
?>

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

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

См. также mysql_errno().

mysql_query

(PHP 4, PHP 5, PECL mysql:1.0)

mysql_query — Посылает запрос MySQL

Описание

resource mysql_query ( string $query [, resource $link_identifier] )

mysql_query() посылает запрос активной базе данных сервера, на который ссылается переданный указатель. Если параметр link_identifier опущен, используется последнее открытое соединение. Если открытые соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции mysql_connect() без параметров. Результат запроса буфферизируется.

Замечание: Строка запроса НЕ должна заканчиваться точкой с запятой.

Только для запросов SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() возвращает указатель на результат запроса, или FALSE если запрос не был выполнен. В остальных случаях, mysql_query() возвращает TRUE в случае успешного запроса и FALSE в случае ошибки. Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.

Следующий запрос составлен неправильно и mysql_query() вернёт FALSE:

Пример 1368. Пример использования mysql_query()

<php
$result = mysql_query("SELECT * WHERE 1=1")
or die("Invalid query: " . mysql_error());
?>

Следующий запрос ошибочен, если колонки my_col нет в таблице my_tbl, в таком случае mysql_query() вернёт FALSE:

Пример 1369. Пример использования mysql_query()

<?php
$result = mysql_query("SELECT my_col FROM my_tbl")
or die("Invalid query: " . mysql_error());
?>

mysql_query() также считается ошибочным и вернёт FALSE, если у вас не хватает прав на работу с указанной в запросе таблицей.

Работая с результатами запросов, вы можете использовать функцию mysql_num_rows(), чтобы найти число, возвращённых запросом SELECT, рядов, или mysql_affected_rows(), чтобы найти число рядов, обработанных запросами DELETE, INSERT, REPLACE, или UPDATE.

Только для запросов SELECT, SHOW, DESCRIBE, EXPLAIN, функция mysql_query() возвращает указатель на результат, который можно использовать в функции mysql_fetch_array() и других функциях, работающих с результатами запросов. Когда работа с результатом окончена, вы можете освободить ресурсы, используемые для его хранения, с помощью функции mysql_free_result(), хотя память в любом случае будет очищена в конце исполнения скрипта.

См. также mysql_num_rows(), mysql_affected_rows(), mysql_unbuffered_query(), mysql_free_result(), mysql_fetch_array(), mysql_fetch_row(), mysql_fetch_assoc(), mysql_result(), mysql_select_db() и mysql_connect().

Админ:

admin@localhost – с локалхоста

admin@192.168.5.13 – с этого ип

admin@mydomain.com – с домена этого

admin@% - откуда угодно кроме локал хоста

4.3.1. Синтаксис команд GRANT и REVOKE

GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...]
    ON {tbl_name | * | *.* | db_name.*}
    TO user_name [IDENTIFIED BY [PASSWORD] 'password']
        [, user_name [IDENTIFIED BY 'password'] ...]
    [REQUIRE
        NONE |
        [{SSL| X509}]
        [CIPHER cipher [AND]]
        [ISSUER issuer [AND]]
        [SUBJECT subject]]
    [WITH [GRANT OPTION | MAX_QUERIES_PER_HOUR # |
                          MAX_UPDATES_PER_HOUR # |
                          MAX_CONNECTIONS_PER_HOUR #]]
REVOKE priv_type [(column_list)] [, priv_type [(column_list)] ...]
    ON {tbl_name | * | *.* | db_name.*}
    FROM user_name [, user_name ...]

4.3.3. Когда изменения в привилегиях вступают в силу

При запуске mysqld все таблицы назначения привилегий загружаются в память и с этого момента привилегии вступают в силу.

Изменения, которые вносятся в таблицы назначения привилегий при помощи команд GRANT, REVOKE или SET PASSWORD, учитываются сервером немедленно.

Если вносить изменения в таблицы назначения привилегий вручную (при помощи команд INSERT, UPDATE и т.д.), необходимо запускать оператор FLUSH PRIVILEGES, mysqladmin flush-privileges или mysqladmin reload, чтобы указать серверу на необходимость перезагрузить эти таблицы. В противном случае изменения не вступят в силу, пока сервер не будет перезагружен. Если внести изменения вручную, но не перезагрузить таблицы назначения привилегий, то останется только удивляться, почему внесенные изменения не действуют!

Когда сервер замечает, что были внесены изменения в таблицы назначения привилегий, он обрабатывает установленные соединения клиентов следующим образом:

  • Изменения привилегий таблиц и столбцов вступают в силу при следующем запросе клиента
  • Изменения привилегий баз данных вступают в силу при следующем использовании команды USE db_name
  • Изменения глобальных привилегий и изменения пароля вступают в силу при следующем подсоединении пользователя.

Уникальное имя для файла:

$token=md5(uniqid(rand(),true));

Подстроить дерево проекта. (Создать тест => предметы => Тема1 – вопрос1, вопрос2, Тема2 …)

Создать:

•    Subjects.txt (id; Название);

•    Themes.txt (id; subjects_id; name);

•    Questions.txt (id: theme_id; text);

•    Answers.txt (id: question_id: text: result 0/1);

Далее, создать «Администратора» ( создать предметы, темы).

Далее, создать «Преподавателя» (создать вопросы, ответы, и сгенерировать тест!)

Далее:

Создаем:

/admin/index.php

/includes/

/scripts/

/css/

/lib – классы (классы – Subjects, Themes, Questions, Answers)

/images

Index.php

Восстановление оптимизация и резирвирование базы данных.

Mysqlcheck – данная команда позволяет сделать оптимизацию и восстановление БД.

-u Имя пользователя –p потом то что мы хотим сделать и имя БД  а потом таблица.

Залить базу данных в phpmyadmin

И

ДЗ

Вводится позиция которую нужно подсветить в таблице, или кнопками вверх или вниз

Мой блог находят по следующим фразам

8 отзыва(-ов) »

  1. Магазин разнообразных товаров.

  2. [...] "что значит" $rgb 16 & 0xff [...]

  3. [...] php fputcsv значение во вторую колонку [...]

  4. [...] php if (isset($_REQUEST['dst'])) { echo htmlspecialchars($_REQUEST['dst']) В закладки! var a2a_config = a2a_config || {}; a2a_localize = { Share: "Отправить другу", Save: "Сохранить", Subscribe: "Подписаться", Email: "E-mail", Bookmark: "В закладки!", ShowAll: "Показать все", ShowLess: "Показать остальное", FindServices: "Найти сервис(ы)", FindAnyServiceToAddTo: "Найти сервис и добавить", PoweredBy: "Работает на ", ShareViaEmail: "Подписаться по e-mail", SubscribeViaEmail: "Подписаться по e-mail", BookmarkInYourBrowser: "Добавить в закладки", BookmarkInstructions: "Нажмите Ctrl+В или ⌘+D чтобы добавить страницу в закладки", AddToYourFavorites: "Добавить в Избранное", SendFromWebOrProgram: "Отправить через e-mail сервис", EmailProgram: "E-mail сервисы" }; a2a_config.linkname="LOGAN – I am still acting up"; a2a_config.linkurl="http://logan.progryz.ru/2010/07/logan-acting/"; a2a_config.hide_embeds=0; [...]

  5. [...] logan.progryz.ru+298 [...]

  6. payday loans onlinepayday loans online , http://1hourpaydaynoteletrack.com/#iublr no teletrack payday loans

  7. The Mods were more sophisticated and admired UK contemporary sounds, such as The Who, The Yardbirds and The Rolling Stones, plus soul and reggae from the US and Jamaica.

  8. Crosstalk is a traditional form of entertainment popular in northern China, but it has been fading for years as younger audiences are drawn to flashier entertainment.

Оставить отзыв