Лабораторная работа №2 “Работа с файлами в PHP” работы с файлами.

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