Тестовое задание: Направление WEB 1. Написать менеджер по скачиванию файлов на РНР. Все данные (кроме скачиваемых файлов) должны храниться в базе данных под управлением MySQL 2. Код должен состоять из 4 файлов: constants.php (все используемые переменные, например название системы, шаблон письма, логин, пароль базы данных и пр.) download.php (скрипт скачивания файла) admin_files.php (список файлов) admin_users.php (список пользователей) Структуру базы разработать самостоятельно. 3. admin_files.php Таблица со следующими столбцами: - File Description (слинковано напрямую на файл) - File Size - Date Uploaded - Secure URL (пользовательский линк на скачивание файла) - Number of Downloads (ненулевое число линкуется на список пользователей admin_users.php) - Actions (в каждой строке кнопка Delete) Под таблицей форма для добавления нового файла: - Description - File (type=file) После добавления файла для него генерится шифрованный уникальный урл, например: http://mydomain.com/download.php?key=sdgjkhsdgkhjsfdgh или http://mydomain.com/files/sdgjkhsdgkhjsfdgh При клике на 4. admin_users.php В самом верху - File Description Далее таблица со следующими столбцами: - Datetime (время отправки письма с файлом) - Name - E-mail Самая последняя строка таблицы - Total с общим кол-вом скачиваний. 5. download.php При клике на шифрованный уникальный урл пользователя должно перебросить на форму с заголовком File Description и со следующими полями: - Name - E-mail Если имя не пустое и адрес введен корректно - отправляется письмо на указанный e-mail с аттачментом. Шаблон письма например такой: Hello, %Name%! You have requested a file %File Description%. You can find it in attachment. Best regards, Administration. Если письмо отправлено успешно - добавляется запись в базу о скачивании файла. 6. Если какое-то задание сформулировано не четко - реализовывайте так, как считаете правильным. Пояснения: 1. Писать программу для добавления данных в базу не нужно, достаточно внести несколько тестовых записей. 2. В письме не забудьте указать время на написание и отладку кода.