В простейшем случае для загрузки файлов на сервер через php понадобится создать 2 файла на хостинге. Первый будет содержать форму для выбора файла и может быть написан на чистом html. Второй — на php, будет принимать данные из нашей формы и сообщать о результатах.
Код файла с формой index.php:
<!doctype html><html> <head> </head> <body> <form enctype="multipart/form-data" action="/upload.php" method="POST"> <!-- MAX_FILE_SIZE --> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <!-- Имя этого input`а определит имя файла в массиве $_FILES --> Выбрать файл: <input name="userfile" type="file" /> <input type="submit" value="Отправить" /> </form> </body> </html>
Код файла upload.php, принимающего данные:
<?php
// В версиях PHP до 4.1.0, надо использовать $HTTP_POST_FILES вместо $_FILES.
$uploaddir = '/home/user/upload/'; //Куда сохраним файлы
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Файл успешно загружен куда надо\n";
} else {
echo "Загрузить не удалось!\n";
}
// эти две ниже можно раскоментировать:
//echo 'Информация для отладки:';
//print_r($_FILES);
print "</pre>";
?>
Сохранять файлы безопаснее в папке, не доступной через вебсервер (за пределами корневой папки самого сайта, на который выкладываем скрипты .php)
Размер загружаемых файлов может быть ограничен настройками веб-сервера или php.