
- •1. Назначение и характеристики php. Размещение php-кода на Web-странице.
- •2. Переменные и типы данных php. Проверка существования переменной. Приведение типов.
- •3. Константы. Функция echo(). Массивы.
- •4. Ассоциированные массивы.
- •5. Поиск элементов в массиве. Подсчет элементов в массиве. Сортировка массивов. Суперглобальные массивы.
- •6. Обработка html-формы в php.
- •7. Объектно-ориентированные возможности php.
- •8. Работа с файлами и каталогами в php.
- •9. Подключение к серверу бд в php. Выбор бд. Обработка ошибок подключения
- •10. Создание таблиц. Добавление данных в таблицу
- •11. Запрос к бд в php. Анализ результатов запроса. Определение списка баз данных и таблиц. Работа с полями записей.
7. Объектно-ориентированные возможности php.
Создание классов
Класс объявляется при помощи ключевого слова class. В теле класса объявляются переменные и функции класса – его методы и члены.
Синтаксис объявления класса
<?php
class имя класса
{
// члены и методы класса
}
?>
Объявление объектов
Объект объявляется при помощи ключевого слова new, за которым следует имя класса.
Пример объявления объекта.
<?php
class prim { }
$obj = new prim;
?>
После имени класса могут следовать необязательные круглые скобки.
Присвоение объекту числового значения
Пример.
<?php
class prim { }
$obj = new prim;
$obj = 3;
echo $obj;
unset($obj);
?>
Объект существует до конца времени выполнения скрипта или пока не будет уничтожен явно при помощи функции unset().
Инкапсуляция. Спецификаторы доступа
Используя спецификаторы доступа, РНР позволяет указать, какие члены и методы доступны извне, а какие нет. Для этого используются спецификаторы доступа public, private, protected.
Пример. Объявим класс student.
<?php
class student
{
public $name;
public $surname;
public $age;
private $address;
}
?>
Разместим этот класс в файле class.student.php
Обратимся к элементам класса.
<?php
// Подключаем объявление класса
require_once(“class.student.php”);
$stud = new student();
$stud->name = "Кирилл";
$stud->surname = ”Приходько";
$stud->age =19;
$stud->address= "ул. Сумская, 30"; // ошибка
echo $stud->name;
?>
8. Работа с файлами и каталогами в php.
Проверка существования файла
Для того, чтобы проверить, существует ли файл, применяется функция file_exists().
if( file_exists("test.txt"));
print "test.txt найден";
Файл или каталог?
Чтобы убедиться, что исследуемый объект действительно является файлом, а не каталогом, применяется функция is_file(). Эта функция возвращает булево значение:
if( is_file("test.txt"))
print "test.txt - это файл";
Чтобы убедиться, что исследуемый объект является каталогом, используется функция is_dir(). Эта функция требует указания пути к каталогу и тоже возвращает булево значение.
if( is_dir("/tmp"))
print "/tmp - это каталог";
Проверка статуса файла
Функция is_readable() сообщает, можно ли читать указанный файл. Аргумент функции - строка, содержащую имя и путь к файлу. Функция возвращает булево значение:
if(is_readable("test.txt")) print ("test.txt можно читать");
Определение размера файла
Функция filesize() определяет размер файла в байтах. Она возвращает значение false, если определить размер файла не удается.
print "Размер файла test.txt - ";
print filesize("test.txt");
Открытие файла для чтения, записи или добавления
Для открытия файла существует функция fopen(). Функции передаются два аргумента — строка с именем файла, а также строка, описывающая режим открытия файла
Открытие файла для чтения:
$fp = fopen("test.txt", 'r');
Функция fopen() возвращает false, если открыть файл не удалось. Перед началом работы с файлом следует проверить значение возвращенного функцией указателя:
if ($fp = fopen("test.txt", 'w'))
{
// работа с файлом
}
По окончании работы файл следует закрыть при помощи функции fclose():
fclose($fp);
Чтение из файла
Для чтения строки из файла существует функция fgets ()
Пример:
$line = fgets($fp, 1024);
Пример программы, читающей данные из файла
<body>
<?php
$filename = "test.txt";
$fp = fopen( $filename, "r" ) or die("Couldn't open $filename");
while ( ! feof ($fp) )
{
$line = fgets( $fp, 1024 );
print "$line<br>";
}
?>
</body> </html>
Создание и удаление файлов
Файл можно создать с помощью функции touch()
touch(“myfile.txt");
Существующий файл можно удалить с помощью функции unlink(). Эта функция тоже получает имя файла
unlink ("myfile.txt");
Все функции для создания, удаления или модификации файлов требуют, чтобы были правильно установлены права доступа.
Запись в файл
fopen("test.txt", "w") // данные в файле уничтожаются
fopen("test.txt", "a") // добавление данных в конец файла
Запись в файл также возможна с помощью fwrite() или fputs()
fwrite() и fputs() записывают строку в файл
Пример.
<body>
<?php
{ filename = "test.txt";
print "Writing to $filename<br>";
$fp = fopen ( $filename, "w" ) or die("Couldn't open $filename");
fwrite( $fp, "Hello world\n" );
fclose( $fp );
print "Appending to $filename<br>";
$fp = fopenf $filename, "a" ) or die( "Couldn't open Sfilename");
fputs ( $fp, "And another thing\n" );
fclose( $fp );
?>
</body> </html>
Работа с каталогами
Создание каталога
mkdir("testdir", 0777);
Удаление каталога
rmdir(“testdir");
Открытие каталога для чтения
$fp = opendir("testdir");