<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Загрузка файлов на сервер средствами PHP</title>
<link rel="stylesheet" href="styles.css">
<script src="scripts.js"></script>
</head>
<body>
<h1>Загрузка файлов на сервер:</h1>
<form method="post" action="action.php" enctype="multipart/form-data">
<input type="text" name="fileToUploadInput" id="fileToUploadInput" disabled>
<input type="file" name="fileToUpload" id="fileToUpload">
<label for="fileToUpload">Выберите файл</label>
<input type="submit" value="Загрузить">
</form>
<div>
<?
$filesList = scandir('uploaded_files');
if(sizeof($filesList) > 2)
{
echo '<b>Загруженные файлы:</b><br><br>';
foreach($filesList as $fileName)
{
if($fileName != '.' && $fileName != '..') echo $fileName.'<br>';
}
echo '<br><a href="cleardirectory.php">Удалить все загруженные файлы</a>';
}
?>
</div>
</body>
</html>
h1 { font-family: Arial, Tahoma, Verdana; font-size: 20px; }
form { display: block; width: 100%; max-width: 500px; box-sizing: border-box; background-color: #f0f0f0; padding: 15px; font-family: Arial, Tahoma, Verdana; font-size: 16px; color: #404040; }
label { margin: 0; display: block; float: right; width: 31%; padding: 4px 3px 4px 3px; text-align: center; background-color: #e0e0e0; border: 1px solid #a0a0a0; cursor: pointer; font-family: Arial, Tahoma, Verdana; font-size: 16px; }
input[type=text]:disabled { width: 65%; display: block; float: left; box-sizing: border-box; background-color: #ffffff; border: 1px solid #e0e0e0; font-family: Arial, Tahoma, Verdana; font-size: 16px; outline: 0; color: #404040; padding: 4px; margin: 0; }
input[type=submit] { width: 130px; height: 26px; border: 1px solid #a0a0a0; font-size: 16px; background-color: #e0e0e0; color: #404040; outline: 0; margin-top: 20px; }
input[type=file] { width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1; }
div { margin-top: 20px; font-family: Arial, Tahoma, Verdana; font-size: 16px; }
<?
require("{$_SERVER['DOCUMENT_ROOT']}/includes/lessonnumber.inc");
$uploadToPath = $_SERVER['DOCUMENT_ROOT'].'/lessons/'.$fullLessonNumber.'/files-uploading/result/uploaded_files/';
$LocationString = 'Location: https://'.$_SERVER['HTTP_HOST'].'/lessons/'.$fullLessonNumber.'/files-uploading/result/';
if(isset($_FILES['fileToUpload']['name']) && $_FILES['fileToUpload']['name'])
{
if(move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $uploadToPath.$_FILES['fileToUpload']['name']))
{
chmod($uploadToPath.$_FILES['fileToUpload']['name'], 0644);
if(!filesize($uploadToPath.$_FILES['fileToUpload']['name']))
{
if(file_exists($uploadToPath.$_FILES['fileToUpload']['name'])) unlink($uploadToPath.$_FILES['fileToUpload']['name']);
echo 'Не удалось загрузить файл на сервер';
exit;
}
else
{
echo 'Файл '.$_FILES['fileToUpload']['name'].' успешно загружен на сервер';
header($LocationString);
exit;
}
}
else
{
echo 'Не удалось загрузить файл на сервер';
header($LocationString);
exit;
}
}
else
{
echo 'Не удалось загрузить файл на сервер';
header($LocationString);
exit;
}
?>
<?
require("{$_SERVER['DOCUMENT_ROOT']}/includes/lessonnumber.inc");
$deletePath = $_SERVER['DOCUMENT_ROOT'].'/lessons/'.$fullLessonNumber.'/files-uploading/result/uploaded_files/';
$LocationString = 'Location: https://'.$_SERVER['HTTP_HOST'].'/lessons/'.$fullLessonNumber.'/files-uploading/result/';
$filesList = scandir('uploaded_files');
foreach($filesList as $fileName)
{
unlink($deletePath.$fileName);
}
header($LocationString);
exit;
?>
Результат выполнения задания можно посмотреть
здесь.