Лабораторная работа №2
“Работа с файлами в PHP”
Цель работы: научиться использовать стандартные функции PHP для работы с файлами.
Теоретическая часть
В разработке…
Задание к лабораторной работе
Разработать 5 скриптов на языке PHP для добавления, редактирования, удаления, просмотра и выполнения действий в соответствии с вариантом задания для данных табличного типа. Названия полей для таблицы описаны в таблице 1. Все данные должны храниться в текстовом или бинарном файле в соответствии с вариантом задания.
Скрипт просмотра данных (index.php) представляет собой HTML документ. Данные должны считываться из файла и выводиться в виде таблицы без постраничной навигации. Каждая строка таблицы содержит столько столбцов, сколько требуется в соответствии с вариантом задания, а также дополнительный столбец, в котором имеются ссылки “Удалить” и “Редактировать”. Вверху перед всей таблицей выводятся ссылки “Добавить” и “Выполнить”. Все указанные ссылки используются для перехода к остальным скриптам.
Добавить
Выполнить
№ | Название | Кол-во | Стоимость | Опции |
1 | Процессор AMD | 200 | 1000 | Удалить Редактировать |
2 | Процессор Intel | 135 | 1200 | Удалить Редактировать |
3 | Флеш-память Kingston | 1000 | 80 | Удалить Редактировать |
4 | Клавиатура Genius | 300 | 20 | Удалить Редактировать |
Рис. 1. – Внешний вид скрипта просмотра данных
Скрипты добавления и редактирования данных вызываются по соответствующим ссылкам и состоят из HTML-форм и кода обработки действия. HTML-форма должна включать все поля для ввода данных и кнопки “Добавить” или “Сохранить”. При нажатии на соответствующую кнопку осуществляется проверка корректности ввода исходных данных; в случае успеха информация из форм добавляется или перезаписывается в исходном файле. Для скрипта редактирования необходимо предусмотреть также начальное заполнение полей формы.
Скрипт удаления данных не имеет визуального интерфейса: при нажатии на соответствующую ссылку выполняется удаление выбранной строки, после чего осуществляется переход на скрипт просмотра данных. Допускается объединить программный код этого скрипта со скриптом просмотра данных во избежание лишних переходов.
Скрипт выполнения действий визуально похож на скрипт просмотра данных (см. рис. 1), однако не содержит дополнительного столбца с опциями, выводит только требуемые данные в соответствии с вариантом задания. Кроме этого, вверху перед всей таблицей должна быть предусмотрена ссылка перехода на скрипт просмотра данных.
Содержание отчета:
- титульный лист;
- программный код для всех разработанных скриптов;
- экранные формы с результатами работы с выводимыми сообщениями об ошибках.
Варианты заданий
Таблица 1. Варианты заданий
№ | Способ хранения данных в файле | Названия полей и действия, подлежащие реализации |
1 | Текстовый | В кинотеатре каждые сутки сохраняется следующая информация: название фильма, тип фильма (комедия, боевик, мелодрама и т. д.), количество проданных билетов, количество сеансов, общее время показа фильма, стоимость билета. Известно, что кинотеатр каждые сутки показывает только один фильм. Составить таблицу, которая содержит информацию о доходе кинотеатра в каждые сутки (определяется как количество проданных билетов умноженную на стоимость билета), название и тип фильма. Выполнить сортировку этой таблицы по критерию «тип фильма». |
2 | Бинарный | В каталоге программного обеспечения имеются следующие данные: имя и расширение файла, размер файла, дата создания. Составить каталог текстовых файлов (расширение txt, doc), а также таблицу файлов с размером более 300 Кбайт. |
3 | Текстовый | На чемпионате мира по футболу 2013 имеются записи, содержащие название команды, количество выигрышей, количество проигрышей, количество ничьих, количество нарушений для каждой команды. Составить таблицу, в которой в порядке убывания отобразить общее количество очков (+3, если выигрыш; +1, если ничья; -3, если проигрыш), название команды. Вывести в отдельном окне место и количество нарушений украинской сборной. |
4 | Бинарный | В больнице ведется учет больных по следующим данным: фамилия больного, номер палаты, дата пpибытия, диагноз. Необходимо выдать список больных, лежащих в заданной палате, а также список больных, лежащих в больнице свыше 14 дней. |
5 | Текстовый | На ипподроме имеются сведения по скачкам: имя лошади, ее возраст, вес, рейтинг, количество выигрышей. Составить список лошадей моложе 4 лет и имеющих не менее пяти выигрышей, а также сведения о трех лошадях с максимальным рейтингом. |
6 | Бинарный | В военкомате ведется учет юношей допризывного и призывного возраста. Имеются следующие данные: фамилия, год рождения, номер личного дела, пригодность к службе ("годен" или "не годен"). Необходимо вывести список юношей, призываемых на службу в текущем году (по достижении 18 лет). |
7 | Текстовый | На кафедре КСМ ведется журнал контроля выполнения практических заданий на летней практике: курс, группа, ФИО студента и преподавателя, фактический и плановый процент выполнения, причина задержки при отставании от плана (уважительная или неуважительная). Составить таблицу, содержащую список студентов, для которых отставание от графика по неуважительной причине составляет свыше 10 % , а также определить студента, в наибольшей степени опередившего график выполнения практических заданий. |
8 | Бинарный | За материально ответственным лицом числятся материальные ценности, записанные в журнале: название предмета, количество, год приобретения, срок службы (лет). Необходимо вывести список предметов, подлежащих списанию в заданный год, а также список пяти самых долгосрочных предметов. |
9 | Текстовый | В кассах предварительной продажи ж/д билетов имеются следующие сведения: номер поезда, станция назначения, дата отправления, количество мест и количество проданных билетов (мягких, купейных, плацкартных и общих). В некоторых поездах мягкие или общие места могут отсутствовать. Для заданной даты составить список поездов, для которых количество проданных билетов превышает 90 % их общего количества, а также сведения о трех поездах, в которых остались лишь общие места. |
10 | Бинарный | В заводском цеху ведется учет рабочего времени. В журнал заносятся следующие данные: фамилия рабочего, должность, общее количество рабочих часов в неделю, количество отработанных часов, количество часов, пpопущенных по болезни, количество часов пpогулов. Необходимо вывести список 10-ти рабочих с наибольшим количеством прогулов, а также посчитать процент использования рабочего времени в среднем по цеху. |
11 | Текстовый | Каталог микропроцессоров для систем автоматики содержит следующие сведения: тип процессора (2 буквы и 4 цифры), завод-изготовитель, параметры (тактовая частота, объем ОЗУ, объем ПЗУ, разрядность), стоимость. Отпечатать список микропроцессоров с объемом ОЗУ не менее 16 Мбайт и частотой не менее 500 МГц, а также список трех наиболее дорогих микропроцессоров. |
12 | Бинарный | Диспетчер автовокзала отмечает автобусы, прибывшие и ушедшие с вокзала. Журнал ведется по следующим данным: номер pейса, номеp автобуса, фамилия водителя, вpемя отпpавки, вpемя пpибытия. Составить список автобусов, находящихся в пути на заданное время. |
13 | Текстовый | На чемпионате мира по футболу 2013 имеется таблица, содержащая записи о названии стадиона, на котором проводился текущий матч, количестве мест на стадионе, количестве проданных билетов, стоимости билета. Составить таблицу, в которой в порядке убывания отобразить текущий доход для каждого стадиона (рассчитывается как произведение количества проданных билетов на стоимость билета), название стадиона, процент заполнения стадиона (рассчитывается как частное от количества проданных билетов на количество мест на стадионе). |
14 | Бинарный | На метеопосту ведется учет погодных условий в течение месяца. В жуpнал вносятся следующие данные на каждый день: число, темпеpатуpа воздуха, атмосферное давление, скорость и направление ветра, концентрация СО2, концентрация NO. Необходимо вывести список дней, в которые концентрация СО2 превышает заданную величину. Определить также среднюю концентрацию CO2 в течение месяца. |
15 | Текстовый | В таблице имеются сведения о выпускаемых цифровых платах: наименование (3 буквы и 4 цифры), длина и ширина в мм, количество микросхем, цена. Отпечатать список плат с площадью менее 160 кв. см., а также сведения о двух платах с макс. плотностью компоновки микросхем. |
16 | Бинарный | В часовой мастерской имеются сведения о проведении ремонтов в текущем году: ФИО заказчика и его адрес, марка часов, стоимость ремонта, дата поступления в ремонт и плановый срок исполнения, дата окончания ремонта. Предусмотреть анализ и вывод сведений о задержках выполнения ремонта. |
17 | Текстовый | В почтовом отделении имеются сведения о подписчиках: адрес (улица, дом, квартира), ФИО, индекс и название издания, цена за месяц, начало и конец подписки в месяцах. Отпечатать список подписчиков газет “Телегид” и “Теленеделя” на срок не менее 12 мес. |
18 | Бинарный | В справочном бюро содержатся следующие сведения: ФИО, дата рождения, адрес (район, улица, дом, квартира), домашний телефон. Отпечатать сведения о гражданах с заданными ФИО или возрастной группой (например, старше 55 лет). Определить трех старейших жителей города. |
19 | Текстовый | В записной книжке имеются следующие сведения: ФИО, адрес, телефон, дата рождения. Отпечатать список именинников, чей день рождения наступит не более чем через месяц от заданной даты, а также трех наиболее молодых именинников, не имеющих телефона. |
20 | Бинарный | В инвентарной книге библиотеки для каждой книги указаны данные: инвентарный номер (7 цифр), автор, название, год издания, место издания (город), издательство, цена. Вычислить, сколько и на какую сумму книг каждого издательства содержится в библиотеке. Отпечатать список книг издательства "Мир". |
21 | Текстовый | В ЖЭУ ведется учет внесения квартплаты: номер дома и квартиры, площадь, ФИО, тариф за 1 кв. м, сведения об оплате за каждый из предыдущих 6 месяцев ("Да","Нет"). Составить таблицу жильцов, вносивших квартплату за все 6 месяцев, а также список десяти жильцов в порядке уменьшения задолженности. |
22 | Бинарный | Даны записи о расходовании электроэнергии на заводах области. Структура записи: номер завода, наименование завода, фамилия и инициалы директора, фамилия и инициалы главного энергетика, расход электроэнергии в тыс. кВт-ч (плановый и фактический). Для каждого завода подсчитать размер отклонения фактического расхода от планового (абсолютное значение и относительное в % с учетом знака отклонения). Отпечатать сведения о заводе с максимальным относительным значением экономии электроэнергии. |
23 | Текстовый | На чемпионате мира по футболу 2013 имеется таблица, содержащая название команды, количество ударов по воротам, количество голов, забитых командой, количество угловых. Составить таблицу, которая содержит процент забитых голов (рассчитывается как отношение количества ударов по воротам к количеству голов), сгруппированный в порядке убывания, название команды, процент количества голов, забитых с углового (рассчитывается как отношение количества угловых к количеству голов). |
24 | Бинарный | Заданы записи следующей структуры: шифр группы (2 буквы, 2 цифры и буква), номер зачетной книжки, фамилия и инициалы студента, оценки по пяти экзаменам. Для заданной группы отпечатать: шифр группы, количество студентов, сдавших экзамены на "4" и "5", процент студентов, имеющих хотя бы одну неудовлетворительную оценку, процент студентов, имеющих 2 и более неудовлетворительные оценки. По результатам сдачи экзаменов определить лучшего студента. |
25 | Текстовый | В обменном бюро имеется информация о квартирах: район, количество комнат (общее и смежных), площадь, телефон. Сформировать список квартир, имеющих не более двух смежных комнат. Определить для каждого района количество квартир (общее и в %), имеющих телефоны. |
26 | Бинарный | На чемпионате мира по футболу 2013 имеется таблица, содержащая название команды, количество пенальти, назначенных команде, количество голов, пропущенных командой. Если количество пенальти больше или равно пяти, то это означает, что команде были назначены дополнительные пенальти, так как в результате игры не удалось установить победителя. Составить таблицу, в которой вывести все команды, для которых количество пенальти больше или равно пяти, количество пенальти, процент забитых голов в порядке убывания. |
27 | Текстовый | В деканате КНТ сформированы данные о студентах-дипломниках: номер зачетной книжки, ФИО, группа, средний балл по каждому из 9 семестров. Составить список студентов, сдавших на "5" не менее двух сессий, а также список студентов, общий средний балл которых менее 3,3 (считать, что на каждой сессии одинаковое количество экзаменов). |
28 | Бинарный | На АТС для каждого междугородного разговора составляется карточка со следующими данными: телефон абонента, его фамилия и инициалы, заказанный город, расстояние в км. до него, телефон заказа, дата и время разговора (в минутах). Отпечатать сведения для оплаты переговоров для заданного абонента и заданного месяца, считая, что по Украине стоимость одной минуты составляет: 10 коп. – до 200 км, 20 коп. – до 500 км, 30 коп. – свыше 500 км. Определить город, для которого время переговоров максимальное. |
29 | Текстовый | Для текущей четверти в учебной части школы имеются сведения об изучаемых дисциплинах: класс, наименование дисциплины, ФИО преподавателя, количество часов в четверти, дата проведения итогового занятия. Для заданного класса сформировать список проведения итоговых занятий по языкам (рус., укр., иностранный). Определить преподавателя с максимальным количеством часов в четверти. |
30 | Бинарный | Имеются данные об абитуриентах на факультет КНТ: учетный номер, ФИО, возраст, год окончания школы, служба в армии ("Да" или "Нет"), оценки по двум вступительным экзаменам. Составить список абитуриентов, поступающих в год окончания школы, а также список абитуриентов, отслуживших в армии и имеющих наиболее высокий балл по экзаменам. |


