Пример загрузки файлов на сервер (upload) на языке php

Реклама

Для загрузки файлов на сервер используется приложение которое представляет собой 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;
}
...
?>