Для загрузки файлов на сервер используется приложение которое представляет собой HTML-форму (uploads.html) и скрипт uploads.php для ее обработки.
Заметка: Вы сможете так же загрузить промышленную версию системы загрузки файлов на сервер из раздела downloads. Image Java Editor позволяет нам не только загрузить любой файл на сервер, но и изменить его размер, фон и др.
Код формы (uploads.html)
<html>
<head>
<title>Загружаем файлы на сервак</title>
</head>
<body>
<h2><p><b> Загрузка файлов </b></p></h2>
<form action="uploads.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Добавить"><br>
</form>
</body>
</html>
Код для обработки формы (uploads.php)
<html>
<head>
<title>Насколько загрузился файл</title>
</head>
<body>
<?php
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер превышает 3 мбайта");
exit;
}
// Проверяем загрузился ли
if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
{
// Если файл загрузился, то перемещаем его
// из временной директории в постоянную
move_uploaded_file($_FILES["filename"]["tmp_name"], "/path/to/file/".$_FILES["filename"]["name"]);
} else {
echo("Ошибка ");
}
?>
</body>
</html>
Атрибут entype формы позволяет определяить вид кодировки, которые применяются браузером к параметрам формы. Для работы загрузки атрибуту entype стоит присвоить значение multipart/form-data. По умолчанию он имеет значение application/x-www-form-urlencoded.
В этой форме должен быть тип file.
После получения HTTP-запроса, содержимое загруженного файла сохранятеся во временный файл, который находиться в каталоге сервера, который используется по умолчанию, если не изменен каталог в файле php.ini (директива upload_tmp_dir).
Характеристики полученного файла видны через двумерный массив $_FILES.
Cкрипт uploads.php сохраняет файл на сервер и копирует его в каталог /path/to/file/.
Иногда следует ограничить размер файла. Например, чтобы можно было загрузить на сервер файлы с размером не более 3 Мбайт, в приведенном скрипте содержится код:
<?php
...
if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo("Размер превышает 3 мегабайта");
exit;
}
...
?>