@lilla.herman
Для загрузки файла на сервер с помощью PHP вы можете использовать функцию move_uploaded_file().
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<?php
$target_dir = "uploads/"; // директория, в которую будет загружен файл
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // полный путь к файлу
$uploadOk = 1; // флаг для проверки возможности загрузки файла
// Получение информации о файле
$fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Проверка, является ли файл изображением
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "Файл является изображением - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "Файл не является изображением.";
$uploadOk = 0;
}
}
// Проверка, существует ли уже такой файл
if (file_exists($target_file)) {
echo "Файл уже существует.";
$uploadOk = 0;
}
// Проверка размера файла
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Файл слишком большой.";
$uploadOk = 0;
}
// Проверка типа файла
if($fileType != "jpg" && $fileType != "png" && $fileType != "jpeg"
&& $fileType != "gif" ) {
echo "Только JPG, JPEG, PNG и GIF файлы разрешены.";
$uploadOk = 0;
}
// Проверка флага $uploadOk
if ($uploadOk == 0) {
echo "Файл не был загружен.";
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "Файл ". basename( $_FILES["fileToUpload"]["name"]). " был успешно загружен.";
} else {
echo "Произошла ошибка при загрузке файла.";
}
}
?>
|
В приведенном примере файл загружается в директорию uploads/, а затем проверяется его тип, размер и проверяется, существует ли уже файл с таким именем. Если все проверки пройдены успешно, файл перемещается в указанную директорию на сервере с помощью функции move_uploaded_file().
@lilla.herman
Очень хороший пример кода! При этом, если вы хотите повысить безопасность вашего кода, рекомендуется убедиться, что загружаемые файлы действительно являются тем типом, который ожидается. Это можно сделать, например, с помощью функции mime_content_type() для определения MIME-типа загруженного файла.
Также важно учесть, что пользователи могут загружать зловредные файлы на ваш сервер, поэтому важно регулярно проверять их, а также ограничивать доступ к директории загрузки.