- •В.С. Романчик
- •Глава 2. Использование php.
- •Глава 3.
- •Введение
- •Возможности php.
- •Инструменты для разработки
- •Как php работает
- •Глава 1. Язык php Типы данных
- •Массивы и инициализация массивов
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и директива error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Некоторые улучшения в организации работы с данными
- •Передача данных от клиента к серверу и от сервера клиенту
- •Клиентские методы http get, post, head
- •Обработка html-форм и передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Ниже рассмотрен еще один пример передачи данных из клиентской формы на сервер по методу get
- •Передача данных на сервер по методу post
- •Php и обработка различных форм
- •Примеры обработки форм
- •Работа с e-mail
- •Отправка почты на php (Функция mail)
- •Cookies-наборы: сохраненное состояние
- •Сессии (Сеансы) Переменные сеанса
- •Отмена регистрации сеансовых переменных
- •Работа с сеансовыми переменными
- •Постоянные данные, использующие сеансы и cookie-наборы
- •Вывод графических данных с помощью рнр Основной способ создания изображений
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Работа с палитрой изображения
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование специальных стилей для заливки
- •Использование шрифтов и вывод строк
- •Манипулирование и копирование изображений
- •Создаём графический информер на php
- •Слияние изображений с помощью gd
- •Включения удаленных файлов
- •Различные приложения и полезные скрипты на php
- •Пример. Определение типа и версии браузера
- •Генератор паролей на php
- •Время выполнения скрипта
- •Календарь
- •Загрузка файла от клиента на сервер
- •Работа с ftp на уровне php
- •Сбор статистики на php
- •Проверка ввода емайл
- •Чтение почты через Web-интерфейс
- •Разработка собственных листов рассылки
- •Рассылаем письма
- •Добавляем адреса в список рассылки
- •Редактирование адресов
- •Автоответчик
- •Почтовые функции в рнр
- •Задания для выполнения
- •Приложение 1. Протокол передачи гипертекстов http
- •Клиентские методы и заголовкиHttp
- •Указатель ссылки ("Referer")
- •Медиа-типы
- •Кодирование
- •Безопасность и авторизация
- •Кэширование содержимого http на стороне клиента
- •Http идентификация с php
- •Сжатие данных в протоколе http
- •Модель ajax: между загруженной в браузер страницей и сервером появляется прослойка - уровень ajax, который обеспечивает следующую последовательность выполнения приложения.
- •Класс xmlHttpRequest
- •Методы класса xmlHttpRequest
- •Свойства класса xmlHttpRequest
- •Создание экземпляра объекта xmlHttpRequest
- •Использование dom
- •Проблема с кешированием
- •Информируйте пользователя
- •Нет принципов написания кода
- •Аутентификация средствами php
- •Отделение клиентская части программы от серверной части и шаблоны
- •Использование шаблонов в php
- •Шаблоны подстановки
- •Создаем свои шаблоны в php
- •Теги, атрибуты, значения
- •Структура документа
- •Разрыв строки
- •Предварительное форматирование
- •Комментарии
- •Физическая и логическая разметка документа
- •«Физические» теги:
- •«Логические» теги:
- •Специальные символы
- •Графика
- •Формы html
- •Метатеги
- •Способы включения каскадных таблиц стилей
- •Синтаксис
- •Группирование
- •Наследование
- •Множественные классы.
- •Селекторы идентификаторов (id-селекторы).
- •Комментарии
- •Свойства шрифтов.
- •Свойства текста.
- •Представление документа в виде специальных областей – блоков
- •Отступы, поля, позиционирование.
- •Границы элементов.
- •Визуальные эффекты
- •Свойства списков
- •Свойства таблиц
- •Псевдоклассы
- •Псевдостили текста
- •Псевдоэлементы
- •Различные свойства
- •Css. Примеры
- •Типы данных
- •Ассоциированные массивы
- •Операторы
- •Подпрограммы
- •Приложение 11. Популярные веб-приложения и фреймворки
- •Фреймворки
Чтение и запись бинарных файлов
Чтение данных из файла: string fread (int $fp, int length). Функция осуществляет чтение до length байт из файла, адресуемого указателем fp. Чтение прекращается, если будет считано указанное количество байт, или будет достигнут конец файла.
Запись данных в файл: int fwrite (int $fp, string str [, int length])
Функция производит запись содержимого строки string в файл, адресуемый указателем fp. Если задан аргумент length, операция записи прекращается после вывода указанного количества символов, либо при достижении конца строки.
<? //pr416
$open=fopen("my_file.txt","w+");
//Очищаем файл и добавляем в него строку,
//если файл не существует, то он создаётся:
fwrite($open,"строка\r\n");
fclose($open);
//Добавляем новую строку в конец файла:
$open=fopen("my_file.txt","a");
fwrite($open,"новая строка\r\n");
fclose($open);
?>
В созданном файле my_file.txt будут записаны две строки
строка
новая строка
Загрузка всего файла: array file (string filename [, int use_include_path]). Функция file() записывает запрошенный файл в массив. При этом каждый элемент массива представляет собой одну строку файла. Символ новой строки, является последним символом каждой строки.
<? //pr417
//Создаём массив $array, где каждый индекс будет равняться номеру строки в файле:
$array=file("pr417.php");
print_r($array);
$count=count($array); // количество строк в файле
echo $count;
?>
Будет выведено:
Array ( [0] => //Создаём массив $array, где каждый индекс будет равняться номеру строки в файле: [2] => $array=file("php416.php"); [3] => print_r($array); [4] => //Подсчитываем количество строк в файле: [5] => $count=count($array); [6] => echo $count; [7] => ?> ) 8
<?php //php418.php - вывод строк из файла
$fi="php418.php"; // имя файла
$array=file($fi);
//Считываем из файла первые 3 строки:
echo "<hr>";
$n=3; //количество считываемых строк
for($i=0;$i<$n;$i++)
{print "$i : $array[$i],'\n'"; }
for($i=(count($array)-$n-1);$i<count($array)-1;$i++)
{ echo "$i : $file[$i],'\n'"; }
?>
Будет выведено три первых и три последних строки:
0 : <?php //php418.php - вывод строк из файла ,
' '1 : $fi="pr418.php"; // имя файла ,
' '2 : $array=file($fi); ,
' '10 : { echo "$i : $array[$i],'\n'"; } ,
' '11 : ,
' '12 : ?> ,' '
Объединяем 2 файла в один массив $new_array:
<? //pr419
$files=array(
"php416.php", # первый файл
"php417.php" # второй файл
);
for($i=0;$i<count($files);$i++)
{
$array[]=file($files[$i]);
}
while(list(,$result)=each($array))
{
for($i=0;$i<count($result);$i++)
{ $new_array[]=$result[$i]; }
}
print_r($new_array); #выводим массив
?>
В следующем примере массив устанавливается в файл. Затем выполняется замена строки в файле на указанную с помощью функции fwrite():
<?
$line="1"; # строка, которую нужно изменить
$replace="du du du"; # на что нужно заменить
$filarr=file("my_file.txt");
$f=fopen("my_file.txt","w");
for($i=0;$i<count($filarr);$i++)
{
if(($i+1)!=$line){fwrite($f,$file[$i]);}
else{fwrite($f,$replace."\r\n");}
}
fclose($f);
?>
Поиск слова в файле. Ищем в файле file.txt слово привет:
<?PHP
$word="привет"; # искомое
$f="file.txt"; # имя файла, в котором будем искать слово
$open=fopen($file,"r");
while(!feof($open)) $search.=fgets($open,1024);
fclose($open);
if(eregi(strtolower($word),strtolower($search)))
{ echo "Слово ".$word." - найдено"; }
else
{ echo "Слово ".$word." - не найдено"; }
?>
Прямой доступ к указанной позиции бинарного файла осуществляется с помощью функции fseek (): fseek($file, $offset [, $reference]);
где $file — поток, $offset указывает число байт смещения от позиции, определяемой третьим параметром $reference. Последний принимает одно из значений :
$reference =SEEK_SET (по умолчанию) от начала файла, $reference=SEEK_CUR от текущей позици файла, SEEK_END от байта, следующиго за концом файла.
Функция fseek () может использоваться только для файлов, расположенных в локальной файловой системе и не работает с файлами, которые открываются удаленно по протоколу HTTP или FTP. Функция fseek () возвращает нуль в случае успешного завершения и -1 в случае, если указатель файла не может быть установлен. Отсчет смещений указателя в fseek () начинается с нуля. Чтобы установить указатель файла в позицию $offset, функции fseek () необходимо передать параметр $offset-l.
Копирование одного файла в другой можно выполнить с помощью функции copy(filefrom,fileto);. Функция unlink(filename) –удаляет файл. Функция rename(oldname, newname)-переименовывает файл.
