Контрольная работа по «Веб-технологии»
Автор: Илья Черненко • Ноябрь 27, 2023 • Контрольная работа • 357 Слов (2 Страниц) • 123 Просмотры
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет КСиС
Специальность ПОИТ
Контрольная работа № 2
по дисциплине «Веб-технологии»
Вариант № 4
Выполнил студент: Черненко И.С.
Группа 051051
Зачетная книжка № 8910538
Минск 2023
Задание 1
1) Написать функцию, получающую имя файла и приводящую его в соответствие со следующими правилами: допустимы только английские буквы в нижнем регистре, цифры, знаки подчёркивания и не более одной точки; русские буквы транслитерировать в английские; остальные недопустимые символы заменить на знаки подчёркивания; если такой файл существует в указанном каталоге, добавлять в конец имени (перед расширением) постфикс "_1", "_2" и так далее до получения уникального имени файла. Имя файла и каталога получать через веб-форму.
2) Используемые типы данных – строка.
3) Краткий алгоритм решения. На вход подается 2 строки. Каждая проверяется и обрабатывается отдельно, затем на экран выводится результат.
4) Как проверялась корректность вводимых данных. С помощью <input type="text">.
5) Код программы:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'] ?? false;
$temp = "";
$catalogName = $_POST['catalog'] ?? false;
$temp = $catalogName;
if (strpos($temp,$catalogName)) {
$catalogName = "_1".$catalogName;
}
$resultName = translit($name);
$result = "<p>Итоговое имя файла - {$resultName} {$catalogName} </p>";
}
function translit($s) {
$dot = ".";
$s = (string) $s; // преобразуем в строковое значение
$s = trim($s); // убираем пробелы в начале и конце строки
$s = strtolower($s); // переводим строку в нижний регистр
$s = strtr($s, array('а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d','е'=>'e','ё'=>'e','ж'=>'j','з'=>'z','и'=>'i','й'=>'y','к'=>'k','л'=>'l','м'=>'m','н'=>'n','о'=>'o','п'=>'p','р'=>'r','с'=>'s','т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ц'=>'c','ч'=>'ch','ш'=>'sh','щ'=>'shch','ы'=>'y','э'=>'e','ю'=>'yu','я'=>'ya','ъ'=>'','ь'=>''));
if (substr_count($s, $dot) > 1) { // проверка на количество точек
$s.str_replace($dot, ""); // если больше 1 заменяем
}
return $s; // возвращаем результат
}
?>
<?= isset($result) ? $result : '' ?>
<form action="" method="post">
<p>
<label for="name">Введите имя файла</label><br>
<input type="text" name="name" id="name">
</p>
<p>
<label for="catalog">Введите имя каталога</label><br>
<input type="text" name="catalog" id="catalog">
</p>
<p>
<button>Пуск</button>
</p>
</form>
...