Функция "скачать" на хостинге обычно означает предоставление возможности пользователям загружать файлы с вашего веб-сайта. Вот как вы можете реализовать такую функциональность:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Загрузка файла</title>
</head>
<body>
<h1>Загрузка файла</h1>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" required>
<button type="submit">Загрузить</button>
</form>
</body>
</html>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["file"])) {
$targetDirectory = "uploads/"; // Папка для сохранения загруженных файлов
$targetFile = $targetDirectory . basename($_FILES["file"]["name"]);
$uploadOk = 1;
$fileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
// Проверка, является ли файл изображением (может потребоваться изменить условия)
if (getimagesize($_FILES["file"]["tmp_name"]) === false) {
echo "Файл не является изображением.";
$uploadOk = 0;
}
// Проверка, существует ли файл уже
if (file_exists($targetFile)) {
echo "Файл уже существует.";
$uploadOk = 0;
}
// Проверка размера файла (может потребоваться изменить максимальный размер)
if ($_FILES["file"]["size"] > 500000) {
echo "Файл слишком большой.";
$uploadOk = 0;
}
// Разрешенные форматы файлов (может потребоваться изменить)
$allowedFileTypes = array("jpg", "jpeg", "png", "gif");
if (!in_array($fileType, $allowedFileTypes)) {
echo "Допустимы только файлы JPG, JPEG, PNG и GIF.";
$uploadOk = 0;
}
// Проверка наличия ошибок перед загрузкой
if ($uploadOk == 0) {
echo "Файл не был загружен.";
} else {
if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) {
echo "Файл " . basename($_FILES["file"]["name"]) . " был успешно загружен.";
} else {
echo "Произошла ошибка при загрузке файла.";
}
}
}
?>
Убедитесь, что у вашего веб-сервера есть права на запись в эту директорию.
mkdir uploads
chmod 777 uploads
В приведенном примере используется проверка изображения. Вы можете изменить этот код в соответствии с вашими потребностями для проверки других типов файлов.
Важно учитывать безопасность при разработке системы загрузки файлов, чтобы избежать уязвимостей. Например, проверяйте типы файлов, фильтруйте ввод пользователя и не доверяйте загружаемым файлам без должной обработки.