Санкт-Петербургский государственный университет телекоммуникаций
имени профессора Бонч-Бруевича
Отчет к лабораторной работе №3 «PHP и MySQL»
по предмету «Интернет-технологии»
Выполнил: студент группы
ИСТ-81 Стрелец К.А.
Преподаватель: Айвазян В.Б.
Санкт-Петербург
2012
Задания 1-6.
<?php
/*
* 1 и 2 задание - подключение к базе
*/
include("db_login.php");
$connection = mysql_connect($db_host, $db_username, $db_password);
/*
* См. 5 задание
*/
mysql_query("set character_set_client='cp1251'");
mysql_query("set character_set_results='cp1251");
mysql_query("set collation_connection='cp1251_general_ci'");
if (!$connection) {
die ("Невозможно подключиться к базе данных: " . mysql_error());
} else {
// echo ("Подключение осуществлено");
/*
* Задание 3 - Выбор БД с названием заданным в $db_database
*/
$select = mysql_select_db($db_database);
$name = $_POST["name"];
$title = $_POST["title"];
$pages = $_POST["pages"];
/*
* Задание 4
*/
$query = "use client";
mysql_query($query);
// die("Выполнен запрос: " . $query);
$query = "insert into books(title,pages) values ('$title','$pages')";
$result = mysql_query($query);
$id = mysql_insert_id();
$query = "insert into authors values (NULL,'$id','$name')";
$result = mysql_query($query);
$query = "select * from books natural join authors";
$result = mysql_query($query);
/*
* Задание 5
*/
while ($result_row = mysql_fetch_array($result, MYSQL_BOTH)) {
echo "Имя, фамилия: " . $result_row[4] . "<br>";
echo "Название: " . $result_row[1] . "<br>";
echo "Количество страниц: " . $result_row[2] . "<br>";
}
/*
* Задание 6
*/
mysql_close($connection);
}
?>
Задания 7-11.
<?php
/*
* Задание 7
*/
printf("Компьютер хранит число $x в виде %b <br>", $x);
/*
* Задание 8
*/
for ($i = 0; $i <= 10; $i++) {
printf("Число I = %05d <br>", $i);
}
/*
* Задание 9
*/
for ($i = 0; $i <= 10; $i++) {
printf("Число I = %5d <br>", $i);
}
/*
* Задание 10
*/
for ($i = 0; $i <= 10; $i++) {
printf("Число I = %-05d <br>", $i);
}
/*
* Задание 11
*/
for ($i = 0; $i <= 10; $i++) {
printf("Число I = %.2f <br>", $i);
}
?>
Задания 12-16.
<?php
/*
* Задание 12
*/
$result = sprintf("test");
printf($result . "<br>");
/*
* Задание 13
*/
$password = "short";
if (strlen($password) < 12) {
printf("Пароль слишком короткий! <br>");
}
/*
* Задание 14
*/
$string = "test test test";
printf("Strtoupper: " . strtoupper($string) . "<br>");
printf("Strtolower: " . strtolower($string) . "<br>");
printf("Ucwords: " . ucwords($string) . "<br>");
printf("Ucfirst: " . ucfirst($string) . "<br>");
/*
* Задание 15
*/
$string = "apple juice";
if (strstr($string, "apple")) {
printf ("Нашлось с помощью strstr <br>");
} else {
printf ("Не нашлось с помощью strstr <br>");
}
if (stristr($string, "AppLE")) {
printf ("Нашлось с помощью stristr <br>");
} else {
printf ("Не нашлось с помощью stristr <br>");
}
/*
* Задание 16
*/
$string = "apple juice";
if (strstr($string, "apple")) {
printf ("Позиция: " . strpos($string, "apple") . "<br>");
} else {
printf ("Не нашлось с помощью strstr <br>");
}
?>
Задания 17-19.
<?php
/*
* Задание 17
*/
$timestamp = time();
echo date ("m/d/y/ G:i:s", $timestamp) . "<br>";
if (checkdate(12, 21, 2012)) {
printf ("Дата верна <br>");
} else {
printf ("Дата не верна <br>");
}
$timestamp += 777700;
echo date ("m/d/y/ G:i:s", $timestamp) . "<br>";
/*
* Задание 18
*/
if (file_exists("db_login.php")) {
echo "Файл существует! <br>";
} else {
echo "Нет такого файла <br>";
}
/*
* Задание 19
*/
touch("new_file.txt");
if (rename("new_file.txt", "document.txt")) {
echo "Переименовали успешно <br>";
} else {
echo "Не получилось переименовать <br>";
}
/*
* Задание 19 #2
*/
if (is_readable("document.txt") & is_writeable("document.txt")) {
printf ("Файл доступен для чтения и записи <br>");
if (unlink("document.txt")) {
printf ("Файл удален успешно <br>");
} else {
printf ("Удалить файл не удалось <br>");
}
}
?>
Задание 20.
<html>
<head>
<title>Загрузка файла</title>
</head>
<body>
<!-- Задание 20. Загрузка файла на сервер -->
<form action="21.php" method="POST" enctype="multipart/form-data">
Выберите файл:<br/>
<input type="file" name="upfile"/><br/>
<input type="submit" name="submit">
</form>
</body>
</html>
Задание 21.
<?php
//максимальный размер файла - 2 мегабайта (в байтах)
$maxsize = 2097152;
//если данные пришли из формы - все нормально
if ($_POST["submit"]) {
$error = NULL;
} else {
$error = "oops";
}
//если файл не загружен
if (!is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
//сообщаем об ошибке
$error = "Вы должны отправить файл";
}
//проверка на размер файла
if ($_FILES["upfile"]["size"] > $maxsize && !isset($error)) {
//выводим ошибку, если файл больше maxsize
$error = "Размер файла слишком большой";
}
//если файл не является jpeg или gif картинкой и ошибок нет
if ($_FILES["upfile"]["type"] != "image/jpeg" && $_FILES["upfile"]["type"] != "image/gif" && !isset($error)) {
//выдаем ошибку
$error = "Допустима загрузка только JPEG и GIF файлов";
//удаляем файл
unlink($_FILES["upfile"]["tmp_name"]);
}
//если ошибок нет
if (!isset($error)) {
//создаем папку upload, если она не существует
if (!file_exists("upload"))
mkdir("upload");
//копируем файл в созданную папку
copy($_FILES["upfile"]["tmp_name"], "upload/" . $_FILES["upfile"]["name"]);
//вместо ошибки пишем об успешной загрузке
$error = "Загрузка прошла успешно";
//удаляем временный файл
unlink($_FILES["upfile"]["tmp_name"]);
}
//В любом случае выводим ошибку или сообщение об успехе
echo $error;
?>