- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке php
- •Иркутск
- •Содержание
- •Внедрение php-сценария в html-документ
- •Алфавит языка
- •Служебные слова
- •Типы данных
- •Комментарии
- •Переменные
- •Математические функции
- •Математические константы
- •Выражения
- •Операторы присваивания
- •Проверка существования переменной
- •Isset(переменная);
- •Is_string(переменная);
- •Мои поздравления!
- •Платежная ведомость
- •Отладочная печать
- •Var_dump(переменная);
- •Форматирование чисел
- •Number_format(переменная, точность, разделитель1, разделитель2);
- •Массивы
- •Создание массивов
- •Многомерные массивы
- •Операции над массивами Перемещение по массиву
- •Копирование массивов
- •Сортировка массивов
- •Запись значений элементов массива в переменные из списка
- •Преобразование массива в текстовую строку
- •Преобразование текстовой строки в массив
- •Функции для работы с массивами
- •Глобальные предопределенные массивы
- •Работа с формой Работу выполнил студент группы ис-09 Пупкин Василий
- •Дата и время
- •Mktime(час, мин, сек, месяц, день, год);
- •1972450760 Секунд 547902.98888889 часов 22829.291203704 дней 62.546003297818 лет
- •Date(формат, число);
- •Strtotime(дата_время, число);
- •Функции
- •Рекурсия
- •Функция dumper()
- •Функции для работы со строками
- •Регулярные выражения
- •Автономные функции
- •Текстовые файлы
- •Включение файлов
- •Получение информации о файле
- •Блокировка файлов
- •Бинарные файлы
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Пример записи алгоритма:
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •Действие альтернативы:
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Часто встречающиеся ошибки программирования:
- •Переключатель
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Программа:
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Программа:
- •Циклы с параметром
- •Действия цикла:
Включение файлов
Для включения содержимого PHP-файла в текущийPHP-документ используется
функция include().При этомPHP-сценарий, содержащийся во включенном файле,
выполняется так, как будто он является частью текущего документа.
Пусть имеется исходный PHP-документ:
<?php
echo “Это исходный документ <BR>”;
include(“D:/User/my_file.php”);
echo “Конец исходного документа <BR>”;
?>
Включаемый PHP-файл my_file.php имеет вид:
?php
echo "Это включаемый код <BR>";
echo "Суммируем 2 + 2 = ".(2+2), "<BR>";
echo "Конец включаемого кода <BR>";
?>
После выполнения исходного документа на экран будет выведено:
Это исходный документ Это включаемый код Суммируем 2 + 2 = 4 Конец включаемого кода Конец исходного документа
Внимание!Код включаемого файла должен находиться между дескрипторами:
<?php
код включаемого файла
?>
Если вставляемый файл не найден, то генерируетсяпредупреждение, и выполнение
сценария продолжается. Если необходимо в этом случае остановить выполнение
сценария, то вместо функции include() используется аналогичная ей функция
require().
Включаемый файл, как и функция, может возвращатьвычисленное значение, если он
заканчивается оператором return.
Пусть имеется исходный PHP-документ:
<?php
echo “Вычисление произведения: <BR>”;
$result = include(“D:/User/my_func.php”);
echo “Произведение равно $result <BR>”;
?>
Включаемый PHP-файлmy_func.php имеет вид:
?php
$proizv = 2 * 2;
return $proizv;
?>
После выполнения исходного документа на экран будет выведено:
Вычисление произведения: Произведение равно 4
Получение информации о файле
Перед началом работы с файлом следует получить о нем побольше информации. Для этого в PHPпредусмотрено несколько полезных функций:
1.
file_exists(“путь”)проверка существования файла: если файл найден – возвращаетсяtrue, если не найден –false,
2. проверка атрибутов файла
is_readable(“путь”)открыт ли файл для чтения - (true – false),
is_writable(“путь”)открыт ли файл для записи - (true – false),
is_executable(“путь”)можно ли запустить файл на выполнение - (true – false),
3.
filesize(“путь”)определение размера файла в байтах,
4.
filectime(“путь”)дата создания файла – возвращает дату и время в формате timestamp,
5.
fileatime(“путь”)дата последнего обращения к файлу (чтение или запись) – возвращает дату и время в форматеtimestamp,
6.
filemtime(“путь”)дата последней модификации файла (запись или изменение хранящихся в нем данных) – возвращает дату и время в форматеtimestamp,
Блокировка файлов
Описанные методики чтения и изменения данных в файлах будут прекрасно работать
в случае, когда сценарий запускает только одинпользователь. Однако следует предполагать, что одним и тем же сценарием одновременно могут пользоваться несколько клиентов. В этом случае они могут одновременно обратиться к одному и тому же файлу для записи в него какой-то информации. Видимо, файл испортится.
Чтобы избежать такой проблемы, в PHPиспользуется функция блокировкиflock().Она блокирует файл и тем самым предупреждает другие процессы о невозможности записи или чтения файла на время работы с ним текущего процесса:
flock($fp, блокировка)
$fp– дескриптор файла,
блокировка– одна из трех констант - типов блокировки:
LOCK_CH- разрешает другим процессам читать файл, но запрещает запись в него,
LOCK_EX- запрещает другим процессам чтение и запись в файл,
LOCK_UN- снимает все блокировки.
Функцию flock()следует вызывать сразу после выполнения функцииfopen(),чтобыустановитьблокировку, а затем еще раз – перед закрытием файла, чтобы ееснять.