Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования PHP(финал).docx
Скачиваний:
6
Добавлен:
27.08.2019
Размер:
158.86 Кб
Скачать

Substr() – эта функция возвращает часть строки.

Формат функции: substr ( имя_строковой_переменной_или_строка , номер_позиции_с_которой_будет_возвращена_строка , количество_элементов_которые_будут_возвращены );

Первый аргумент – исходная строка; второй – положение в строке, которую надо вернуть, первого символа (отсчет начинается с нуля); третий – длина строки в символах, которую надо вернуть. Если третий аргумент не указан, то возвращается вся оставшаяся часть строки.

П ример: Результат:

<?php $s='Электроника'; echo substr($s,0,8); ?>

Strpos() - эта функция обеспечивает действие, обратное функции substr. Т.Е. Она возвращает позицию в строке, в которой найден элемент или подстрока.

Формат функции: strpos(имя_строковой_переменной_или_строка , элемент_с_которого_начинается_фрагмент_текста, необязательный_параметр_который_указывает_с_какой_позиции_искать);

П ример: Результат:

<?php $s='Электроника'; echo strpos($s,'Эл'); ?>

Помните, что данная функция чувствительена к регистру.

strstr() – функция возвращает участок строки, заданной в первом параметре, начиная с первого фрагмента, указанного вторым параметром и до конца строки. В случае неудачи функция возвращает false.

Формат функции: strstr( имя_строковой_переменной_или_строка , элемент_с_которого_начинается_фрагмент_текста );

П ример: Результат:

<?php $s='Электроника'; echo strstr($s,'рон'); ?>

Strchr() – функция аналогичная strstr().

stristr() – функция аналогичная strstr(), только является нечувствительной к регистру.

substr_count() – функция находит количество вхождений фрагмента в строку. Возвращает число фрагментов, присутствующих в строке.

Формат функции: strstr( имя_строковой_переменной_или_строка , элемент_или_фрагмент_текста_число_которых_ищется);

П ример: Результат:

<?php $s='Электроника'; echo substr_count($s,'к'); ?>

strlen() – функция возвращает длину строки, которую принимает в качестве аргумента.

Формат функции: strlen ( имя_строковой_переменной_или_строка );

П ример: Результат:

<?php $s='Электроника'; echo strlen($s); ?>

chr() - функция принимает в качестве аргумента ASCII код символа и возвращает соответствующий этому коду фактический символ.

Формат функции: chr ( имя_строковой_переменной_или_строка );

Пример: Результат:

< ?php echo chr(35); ?>

ord() – функция принимает в качестве аргумента символ и возвращает соответствующий этому символу его ASCII код.

Формат функции: chr ( имя_строковой_переменной_или_строка );

П ример: Результат:

<?php $s='F'; echo ord($s); ?>

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

П ример: Результат:

<?php $s=" Весь мир в твоих руках "; $f=trim($s); $d="знаешь,"; echo "$d$f"; ?>

ltrim() - удаляет из строки начальные пробельные символы (т.е., те которые слева);

rtrim() – удаляет из строки конечные пробельные символы.

К пробельным символам относятся символы "\n", "\r", "\t", "\v", "\0" и собственно пробел.

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

Формат функции: printf ( параметр, имя_строковой_переменной_или_строка );

sprintf (параметр, имя_строковой_переменной_или_строка );

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

Спецификация определяется символом "%", за которым может следовать до пяти спецификаторов в следующем порядке:

  1. Спецификатор заполнения

Устанавливает символ, которым строка заполняется до заданного размера. По умолчанию используется пробел. Спецификатор заполнения действует только при наличии спецификатора минимальной ширины. Возможные варианты значения : " "(пробел) или "0"(ноль).

  1. Спецификатор выравнивания

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

  1. Спецификатор минимальной ширины

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

  1. Спецификатор точности

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

  1. Спецификатор типа

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

b – целое число, представляемое в двоичном виде;

с – целое число, представляемое в виде символа с тем же ASCII кодом;

d – целое число, представляемое в десятичном виде;

f – число с плавающей точкой, представляемое в виде десятичной дроби;

o – целое число, представляемое в восьмеричном виде;

s – строка;

x – целое число, представляемое в шестнадцатеричном виде в нижнем регистре;

X – целое число, представляемое в шестнадцатеричном виде в верхнем регистре.

П ример: Результат:

<?php $s='50'; printf("%.3f",$s); echo "<br>"; printf("%05d",$s); ?>

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

fopen()

Формат функции: fopen( имя_файла , параметр );

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

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

r (открыть файл только для чтения; после открытия указатель файла устанавливается в начало файла);

r+ (открыть файл для чтения и записи; после открытия указатель файла устанавливается в начало файла);

w (создать новый пустой файл только для записи; если файл с таким именем уже есть вся информация в нем уничтожается);

w+ (создать новый пустой файл для чтения записи; если файл с таким именем уже есть вся информация в нем уничтожается);

a (открыть файл для дозаписи; данные будут записываться в конец файла);

a+ (открыть файл для дозаписи и чтения данных; данные будут записываться в конец файла);

b (флаг, указывающий на работу (чтение и запись) с двоичным файлом; указывается только в Windows).

Пример:

<?php $b=fopen("C:/10.txt","r"); $s=fopen("C:/1.jpg","rb"); ?>

Примечание: Для открытия изображения необходимо добавлять "b".

fpassthru() – функция позволяет отобразить в браузере содержимое файла.

Формат функции: fpassthru ( имя_переменной_в_которую_был_открыт_ранее_файл );

readfile() – функция отображения содержимого, для текстовых файлов.

Формат функции: readfile ( имя_файла );

fclose() – как вы закончите работу с файлом его необходимо закрыть.

Формат функции: fclose ( имя_ переменной_в_которую_был_открыт_ранее_файл );

Функции работы с формами в PHP

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

Для начала необходимо создать какую – либо форму.

Пример: Результат:

< html> <body> <form action="index1.php" > <input type='text' name='name' value='1'> <input type='submit' value='погнали! '> </form> </body> </html>

Теперь рассмотрим основные функции, используемые для обработки форм в PHP. Существует два метода – это GET и POST. Главное их отличие – это вид отправки: открытый (GET) и закрытый (POST).

П ример: Результат:

<?php $s=$_GET['name']; echo "получен ключ : "; echo $s; ?>

А в командной строке, адрес преобразуется в:

– открытый метод отправки.

Теперь разберем закрытый метод POST. Для этого необходимо указать дополнительный параметр для формы – method= "post".

П ример: Результат:

<?php $s=$_POST['name']; echo "получен ключ : "; echo $s; ?>

В командной строке, адрес преобразуется в:

– закрытый метод отправки.

Стоит отметить, что разные формы возвращают разные типы данных в PHP. Все зависит от значений указанных в параметре VALUE. Если в форме ничего не указанно или не выбран переключатель, то возвращается FALSE. Если значений передаваемых из формы несколько (например из <SELECT>), то необходимо в имени элемента формы указать, что будет использован массив, при помощи скобочек (имя_элемента_формы[]).

Пример: код первой страницы с формами

<html> <body> <form action="index1.php" method="post"> <br> <input type="checkbox" name="checkbox1" value="учусь"> вы учитесь? <br> <input type="checkbox" name="checkbox2" value="1"> вы работаете? <br><br> <input type='submit' value='погнали!'> <br> <input type="reset" name="reset" value="Очистить"> <br><br>

<input type="password" name="text2" size="5" maxlength="50"> - пароль <br>

<input type="radio" name="radiobutton" value="мужчина">муж. <input type="radio" name="radiobutton" value="жунщина">жен. <br>

<input type="checkbox" name="checkbox3" value="ай-ай-ай"> вы шутите?

</form>

</body>

</html>

код страницы с PHP

Пример:

<html> <body> <?php if ($_POST['checkbox1']) { if ($_POST['checkbox2']) { echo "У вас наверное мало свободного времени!<br>"; } else echo "Вы можете не работать <br>"; } elseif ($_POST['checkbox2']) { echo "Вы уже имеете образование<br>"; } else echo"Идите учиться!<br>"; echo $_POST['text2']; echo "<br>"; if ($_POST['checkbox3']) { echo $_POST['checkbox3']; } else echo "странно....";

?> </body> </html>

Результат: страница с формами страница обработки PHP

Примечание* для старых версий PHP, перед извлечением данных из формы, необходимо выполнить проверку существования параметра . Осуществляется с помощью функции isset(), которая служит для проверки существования переменных.

Пример с использованием функции isset:

<html> <body> <?php if (isset($_POST['checkbox1'])) { if ($_POST['checkbox1']) { if (isset($_POST['checkbox2'])) { if ($_POST['checkbox2']) { echo "У вас наверное мало свободного времени!<br>"; } else echo "Вы можете не работать <br>"; } } elseif ($_POST['checkbox2']) { echo "Вы уже имеете образование<br>"; } else echo"Идите учиться!<br>";

echo $_POST['text2']; echo "<br>"; if (isset($_POST['checkbox2'])) { if ($_POST['checkbox3']) { echo $_POST['checkbox3']; } else echo "странно...."; } } ?> </body> </html>l>

Результат:

страница с формами страница обработки PHP

PHP и MySQL.

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

mysql_connect(); – функция возвращает идентификатор связи при успешном выполнении, в противном случае возвращает FALSE.

Формат функции: mysql_connect ( имя_хоста, [имя_пользователя, [пароль_пользователя] ]);

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

mysql_pconnect(); – функция возвращает идентификатор связи при успешном выполнении, в противном случае возвращает FALSE.

Формат функции: mysql_pconnect ( имя_хоста, [имя_пользователя, [пароль_пользователя]] );

Такой тип связи называется стойким.

mysql_close(); – функция позволяет закрыть соединение с выбранной азой

Формат функции: mysql_close ( идентификатор_связи );

mysql_create_db(); – функция позволяет создать БД, в результате возвращает целое число = 0, в противном случае будет возвращено !=0.

Формат функции: mysql_ create_db ( имя_базы_данных );

mysql_drop_db(); – функция позволяет удалить БД, в результате возвращает целое число = 0, в противном случае будет возвращено !=0.

Формат функции: mysql_drop_db ( имя_базы_данных );

mysql_select_db(); – функция выбирает БД для дальнейшей работы.

Формат функции: mysql_select_db ( имя_базы_данных, [идентификатор_связи] );

Функции работы с БД и результатами запросов.

mysql_query(); – функция применяется для отправки SQL–запроса серверу.

Формат функции: mysql_query ("строка_с_запросом" );

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

mysql_result (); – функция возвращает результат SQL–запроса, с которым можно выполнять различные манипуляции.

Формат функции: mysql_ result ( результат_возвращаемый_функцией_mysql_query, номер_строки_которую_надо_вернуть(значение_типа_int) [‘имя_поля_таблицы_которое_необходимо_вернуть’] );

Для примера была создана БД с "new" и в ней создана таблица "user".

Затем была добавлена некоторая информация о пользователях:

И запросом выведена информация о пользователе "Alex":

<?php

$dbloc = "localhost"; // Имя сервера $dbname = "new"; $dbuser = "root"; // Имя пользователя $dbconnect = mysql_connect($dbloc,$dbuser);

if (!$dbconnect) // Если дескриптор равен 0 соединение не установлено { echo "База данных не доступна.<br>"; } else echo "Соединение с базой данных установленно.<br>";

if (!mysql_select_db($dbname, $dbconnect)) { echo( "В настоящий момент база данных не доступна.<br>" ); } else echo"База данных <u>".$dbname."</u> выбрана для работы.<br>";

$sql = mysql_query("SELECT * FROM user WHERE name='Alex';");

$sql_echo = mysql_result($sql,0,'password'); echo "пароль пользователя - ".$sql_echo."<br>"; $sql_echo = mysql_result($sql,0,'sex'); echo "пол пользователя - ".$sql_echo."<br>"; ?>

Результат:

mysql_fetch_array (); – функция возвращает результат SQL–запроса в виде массива.

Формат функции: mysql_ fetch_array ( результат_возвращаемый_функцией_mysql_query, [‘тип_возвращаемого_функцией_реультата] );

mysql_fetch_assoc (); – функция возвращает результат SQL–запроса в виде ассоциативного массива.

Формат функции: mysql_ fetch_ assoc ( результат_возвращаемый_функцией_mysql_query );

mysql_fetch_object (); – функция возвращает результат SQL–запроса в виде объектов полей таблицы, где имена каждого элемента совподают с именем поля таблицы.

Формат функции: mysql_ fetch_ object ( результат_возвращаемый_функцией_mysql_query );

Массивы имеют свою специфику при обработке. При наличии нескольких строк и столбцов, необходимо воспользоваться циклом while().

Выведем всю информацию о пользователях имеющих пароль "123" двумя способами:

<?php

$dbloc = "localhost"; // Имя сервера $dbname = "new"; $dbuser = "root"; // Имя пользователя $dbconnect = mysql_connect($dbloc,$dbuser);

if (!$dbconnect) // Если дескриптор равен 0 соединение не установлено { echo "База данных не доступна.<br>"; }

else echo "Соединение с базой данных установленно.<br>";

if (!mysql_select_db($dbname, $dbconnect)) { echo( "В настоящий момент база данных не доступна.<br>" ); } else echo"База данных <u>".$dbname."</u> выбрана для работы.<br>";

$sql = mysql_query("SELECT * FROM user WHERE password=123;");

while ($sql_echo = mysql_fetch_object($sql)) { echo "пароль пользователя ".$sql_echo –>name." - ".$sql_echo–>password."<br>"; echo "пол пользователя ".$sql_echo –>name." - ".$sql_echo–>sex."<br>"; } ?>

Р езультат:

Вариант с использованием mysql_fetch_array();

<?php

$dbloc = "localhost"; // Имя сервера $dbname = "new"; $dbuser = "root"; // Имя пользователя $dbconnect = mysql_connect($dbloc,$dbuser);

if (!$dbconnect) // Если дескриптор равен 0 соединение не установлено { echo "База данных не доступна.<br>"; }

else echo "Соединение с базой данных установленно.<br>";

if (!mysql_select_db($dbname, $dbconnect)) { echo( "В настоящий момент база данных не доступна.<br>" ); }

else echo"База данных <u>".$dbname."</u> выбрана для работы.<br>";

$sql = mysql_query("SELECT * FROM user WHERE password=123;");

while ($sql_echo = mysql_fetch_array($sql)) { echo "пароль пользователя ".$sql_echo['name']." - ".$sql_echo['password']."<br>"; echo "пол пользователя ".$sql_echo['name']." - ".$sql_echo['sex']."<br>"; } ?>

Р езультат:

Так же существуют специальные функции, которые позволяют вернуть количество полей(столбцов) и количество строк в результате выполнения запроса.

mysql_num_fields (); – функция возвращает количество полей(столбцов) результата SQL–запроса.

Формат функции: mysql_ num_fields ( результат_возвращаемый_функцией_mysql_query );

mysql_num_rows (); – функция возвращает количество строк результата SQL–запроса.

Формат функции: mysql_ num_rows ( результат_возвращаемый_функцией_mysql_query );

Пример:

<?php

$dbloc = "localhost"; // Имя сервера $dbname = "new"; $dbuser = "root"; // Имя пользователя $dbconnect = mysql_connect($dbloc,$dbuser);

if (!$dbconnect) // Если дескриптор равен 0 соединение не установлено { echo "База данных не доступна.<br>"; } else echo "Соединение с базой данных установленно.<br>";

if (!mysql_select_db($dbname, $dbconnect)) { echo( "В настоящий момент база данных не доступна.<br>" ); }

else echo"База данных <u>".$dbname."</u> выбрана для работы.<br>";

$sql = mysql_query("SELECT * FROM user;");

echo "количество возвращенных строк - ".mysql_num_rows($sql);

?>

Р езультат: