Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
voprosy_k_ekzamenu_c_otvetami.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
418.93 Кб
Скачать

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

Функция feof возвращает указатель конца файла. Возвращает true, если достигнут конец файла (то есть если указатель файла установлен за концом файла). Синтаксис:

feof(файловый манипулятор)

Функция fseek устанавливает указатель файла на определенную позицию: со смещением на определенное количество байт (от начала файла, от его конца или от текущей позиции в зависимости от значения параметра позиция отсчета). В случае успешного завершения эта функция возвращает 0, а в случае неудачи -1. Синтаксис функции:

fseek(файловый манипулятор, смещение, позиция отсчета=SEEK_SET)

Параметр позиция отсчета задает, с какого места отсчитывается смещение. В PHP для этого существуют три константы, равные, соответственно, 0, 1 и 2:

  • SEEK_SET - устанавливает позицию с начала файла;

  • SEEK_CUR - отсчитывает позицию относительно текущей позиции;

  • SEEK_END - отсчитывает позицию относительно конца файла.

В случае использования последних двух констант параметр смещение может быть отрицательным.

Функция ftell возвращает положение указателя файла. Синтаксис:

ftell(файловый манипулятор)

Чтение файла в массив

Функция file загружает все содержимое файла в индексируемый массив. Каждый элемент массива соответствует одной строке файла. Синтаксис функции:

file (файл [,включение_пути])

Если необязательный параметр включение_пути равен 1, то путь к файлу определяется по отношению к каталогу включаемых файлов, указанному в файле php.ini.

Копирование и переименование файлов

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

Функция сору пытается скопировать файл источник в файл приемник; в случае успеха возвращается TRUE, а при неудаче — FALSE. Если файл приемник не существует, функция сору( ) создает его. Синтаксис функции:

copy (источник, приемник)

Функция rename переименовывает файл. В случае успеха возвращается TRUE, a при неудаче — FALSE. Синтаксис функции:

rename (старое_имя, новое_имя)

Удаление файлов

Функция unlink удаляет файл с заданным именем. Синтаксис:

unlink (файл)

При работе с РНР в системе Windows при использовании этой функции иногда возникают проблемы. В этом случае можно воспользоваться функцией system( ) и удалить файл командой DOS del:

system ("del filename.txt");

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

dirname (путь) —извлекает путь из полного имени файла.

is_dir (имя_файла) - проверяет, является ли файл с заданным именем каталогом.

mkdir (путь, права_доступа) - создает новый каталог; права доступа для каталогов указываются точно так же, как и для файлов (чаще всего параметр принимает значение 0770).

opendir (путь) - открывает манипулятор для работы с каталогом.

closedir(манипулятор_каталога) - закрывает манипулятор каталога, переданный в качестве параметра.

readdir(манипулятор_каталога) - возвращает очередной элемент заданного каталога.

chdir (каталог) - осуществляет переход в каталог, заданный параметром.

rewinddir ( манипулятор_каталога) - переводит указатель текущей позиции в начало каталога, открытого функцией opendir( ).

Практически все функции по работе с датой и временем, в том числе date имеют дело с форматом данных, называемым временной меткой (timestamp). Она является целым числом, равным количеству секунд между эпохой Unix (1 Января 1970) и указанным временем.

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

Синтаксис:

mktime([часы] [,минуты] [,секунды] [,месяц] [, день] [, год ] [, переход на летнее время]);

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

Аргумент переход на летнее время, указывает, осуществлен ли переход на летнее время (1) или нет (0); если не известно, то аргумент - (-1)

Правильность даты, переданной в параметрах, не проверяется.

Для форматирования даты/времени, представленных временной меткой используется функция date(формат [, временная метка]). Эта функция возвращает строку, содержащую дату и время, отформатированную согласно строке формат, используя временную метку или текущее локальное время, если не задана временная метка.

В параметре формат могут использоваться следующие символы:

  • a - "до" и "после" полудня: "am" или "pm"

  • A - "До" и "После" полудня: "AM" или "PM"

  • d - день месяца, 2 цифры (на первом месте ноль) (от 01 до 31)

  • D - день недели, текстовый, 3 буквы (например, "Fri")

  • j - день месяца, 1-2 цифры без начальных нулей (от 1 до 31)

  • F - месяц, текстовый, длинный (например, "January")

  • h - час, 12-часовой формат (от 01 до 12)

  • H - час, 24-часовой формат (от 00 до 23)

  • g - час, 12-часовой формат без нулей (от 1 до 12)

  • G - час, 24-часовой формат без нулей (от 0 до 23)

  • i - минуты (от 00 до 59)

  • I - 1, если действует переход на летнее время, иначе 0

  • L - 0, если год не високосный, или 1 в противном случае

  • l - день недели, текстовый, длинный (например, "Friday")

  • m - месяц, две цифры с нулями (от 01 до 12)

  • n - месяц, одна-две цифры без нулей (от 1 до 12)

  • M - трехбуквенное английское сокращение месяца (например, "Jan")

  • t - число дней в указанном месяце (от 28 до 31)

  • s - секунды (от 0 до 59)

  • S - англоязычный порядковый суффикс числа из двух букв, текстовый, т.е. "th", "nd"

  • U - целое число секунд, прошедших с начала века (доступно не всегда)

  • Y - год, цифровой, 4 цифры (1999)

  • y - год, цифровой, 2 цифры (99)

  • w - порядковое число дня в неделе (от 0-воскресенье до 6-суббота)

  • z - порядковое число дня в году (от 0 до 365)

Все остальные символы в строковом аргументе формат возвращаются в результирующей строке "как есть".

  1. Понятие Web-сервера как программного обеспечения. Web-сервер Apache: установка, настройка, использование. Программные пакеты Vertrigo и Open Server. Виртуальный хост: понятие и способы создания.

Сервер как программное обеспечение предназначен для обработки запросов клиента. Наиболее распространенным является веб-сервер Apache, так же к наиболее распространенным относится IIS. Денвер и Vertrigo. (используются в основном для отладки) Эти пакеты представляют собой набор дистрибутивов и программную оболочку, которые могут отладки сайтов. Плюс этих пакетов заключается в том, что они являются самонастраивающимися. Все документы размещаются в www в папке localhost.

Настройка сервера Apache заключается в редактировании основных конфигурационных файлов. Можно выделить 3 уровня конфигурирования: 1. уровень сервера, 2. уровень виртуального хоста, 3. уровень конкретной директории. (параметры доступа конкретной директории определяются файлами htaccess). Виртуальные хосты используются для размещения и настройки нескольких ресурсов (сайтов).

Основное конфигурирование осуществляется путем редактирования файла httpd.conf. При использовании пакета Денвер данный файл располагается в usr/local/apache/conf корневой директории веб-сервера (обычно ей является c:/webServers).

При использовании Vertrigo доступ к этому файлу можно получить из контекстного меню. Так же к основным конфигурационным файлам относятся srm.conf и access.conf. В srm.conf указываются параметры документов, размещаемых на сервере, в access.conf — параметры доступа к серверу.

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

PHP — это язык серверных скриптов, встраиваемых в html, который интерпретируется и выполняется на сервере.

Web-сервер – это программа, позволяющая просматривать

результат выполнения серверных скриптов и осуществлять их

отладку на локальном компьютере.

«Денвер» («Джентльменский набор Web-разработчика» или

сокращенно «Д.н.w.р.») представляет собой набор дистрибутивов

и программную оболочку, используемые Web-разработчиками

для отладки сайтов на локальном компьютере без необходимости

выхода в Интернет. Базовый пакет «Денвер», кроме Web-сервера

Apache, содержит интерпретатор PHP, Perl, сервер MySQL и дру-

гие компоненты, обеспечивающие работу системы в целом.

Для установки пакета «Денвер» необходимо запустить файл

дистрибутива Denver.exe и следовать дальнейшим инструкциям

(будет предложено выбрать директорию, в которую нужно уста-

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

Перед началом работы с Web-сервером его необходимо за-

пустить. Для запуска, перезапуска или остановки сервера Apache

нужно запустить файлы Run.exe, Restart.exe, Stop.exe соответст-

венно. Данные файлы располагаются в подкаталоге /etc корнево-

го каталога пакета «Денвер» (обычно корневым является каталог

WebServers).

Настройка сервера Apache заключается в редактировании

главного конфигурационного файла httpd.conf, который обычно

расположен в подкаталоге usr/local/apache/conf корневого ката-

лога пакета «Денвер». Конфигурация сервера определяется зна-

чениями конфигурационных переменных, называемых директи-

вами. Комментарии в конфигурационном файле обозначаются

символом #.

П р и м е ч а н и е. Для того, чтобы изменения в файле httpd.conf

вступили в силу, необходимо перезапустить Web-сервер.

5

Основные директивы файла httpd.conf [5]:

ServerRoot задает вершину дерева каталогов, в которых со-

держатся файлы конфигурации, регистрации и отслеживания

ошибок.

Например: ServerRoot /usr/local/apache

ServerName задает имя сервера, которое будет использо-

ваться при переадресации URL.

Например: ServerName localhost

ServerAdmin – адрес, по которому будут направляться со-

общения о проблемах с сервером.

Например: ServerAdmin webmaster@localhost

ServerAlias задает альтернативные имена Web-узла.

Например: ServerAlias my_site.ru

DocumentRoot задает путь к корневому каталогу докумен-

тов Web-сервера.

Например: DocumentRoot /home/localhost/www

Alias указывает —ëü¡_÷ü¢w_псевдоним каталога локальной файловой

системы, находящегося за пределами поддерева, определяемого

директивой DocumentRoot.

Например: Alias / images/ /public/img/

При запросе по адресу http://localhost/images/1.gif сервер

вернет файл /public/img/1.gif.

ScriptAlias определяет псевдоним каталога для CGI-сценариев.

Например: ScriptAlias /cgi-bin/ /home/cgi-glob/

ErrorLog указывает путь к файлу, в который будут записы-

ваться диагностические сообщения об ошибках.

Например: ErrorLog logs/error.log

TransferLog указывает путь к файлу, в котором сервер ре-

гистрирует входящие запросы.

Например: TransferLog logs/transfer.log

П р и м е ч а н и е. Путь в директивах ErrorLog и TransferLog может

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

Существует возможность создания нескольких Web-узлов

на одной машине-сервере и обслуживания их одним установ-

ленным экземпляром сервера Apache. Другими словами, сервер

может обрабатывать запросы к множеству различных Web-

узлов. Данная возможность сервера получила название вирту-

хостов) может иметь свою конфигурацию, необходимую для

решения конкретных задач.

Для создания и конфигурирования виртуального хоста ис-

пользуется блок директив <VirtualHost name / ip_address>

</VirtualHost>.

П р и м е ч а н и е. В корневом каталоге документов Web-сервера

должен быть создан каталог, соответствующий имени хоста.

Пример описания виртуального хоста:

<VirtualHost myhost.com>

ServerAdmin webmaster@myhost.com

DocumentRoot /home/myhost.com/www

ServerName myhost.com

ScriptAlias/cgi-bin//home/myhost.com/cgi-bin/

ErrorLog /home/myhost.com/error.log

TransferLog /home/myhost.com/transfer.log

</VirtualHost>

Создать виртуальный хост можно не только «вручную», оп-

ределив директиву <VirtualHost>. В «Денвере», для того чтобы

добавить новый виртуальный хост со стандартными настройками,

достаточно создать структуру его каталогов в директории /home.

Сервер Apache автоматически «увидит» изменения при следую-

щем запуске. При этом изменять файл httpd.conf не нужно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]