В простейшем случае для загрузки файлов на сервер через 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.