Categories: PHP Скрипты

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

Приложение для загрузки файлов на сервер представляет собой HTML-форму (upload.html) и скрипт upload.php для ее обработки.

Замечание: Вы можете загрузить промышленную версию системы загрузки файлов на сервер из раздела downloads. Система Image Java Editor позволит вам не только загрузить файл на сервер, но и изменить его размер, фон и др.

Код формы (upload.html)

<html>
<head>
  <title>Загрузка файлов на сервер</title>
</head>
<body>
      <h2><p><b> Форма для загрузки файлов </b></p></h2>
      <form action="upload.php" method="post" enctype="multipart/form-data">
      <input type="file" name="filename"><br> 
      <input type="submit" value="Загрузить"><br>
      </form>
</body>
</html>

Код скрипта обработки формы (upload.php)

<html>
<head>
  <title>Результат загрузки файла</title>
</head>
<body>
<?php
   if($_FILES["filename"]["size"] > 1024*3*1024)
   {
     echo ("Размер файла превышает три мегабайта");
     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крипт upload.php загружает файл на сервер и копирует его в каталог /path/to/file/.

В некоторых случаях требуется ограничить размер файла, который может быть загружен на сервер. К примеру, чтобы разрешить загрузку на сервер только файлов с размером не более 3 Мбайт, в приведенном скрипте содержится код:

<?php
...
if($_FILES["filename"]["size"] > 1024*3*1024)
{
  echo("Размер файла превышает три мегабайта");
  exit;
}
...
?>

Максимальный размер загружаемого файла можно также задать при помощи директивы upload_max_filesize, значение которой по умолчанию равно 2 Мбайт:

<?php
...
if($_FILES["filename"]["size"] > upload_max_filesize)
..
?>
admin2

Share
Published by
admin2

Recent Posts

Почему лучше всего инвестировать в квартиры с двумя спальнями?

В сфере инвестиций в недвижимость выбор типа недвижимости может существенно повлиять на доходность и долгосрочную…

2 месяца ago

Майнинг в деревнях — Учебное пособие

1 000 000 человек уже занимаются ГОРЯЧИМ майнингом, и мы рады сообщить, что открываем новый…

2 месяца ago

Mine HOT: майнинг криптовалюты

NEAR Wallet — это мини-приложение в Telegram для хранения NEAR, USDT и добычи HOT. Майнинг…

2 месяца ago

Почему аренда коммерческой недвижимости в Энгельсе — ваша лучшая инвестиция

Аренда коммерческой недвижимости — это ключевой элемент успешного бизнеса в любом городе, включая Энгельс. Это не просто…

3 месяца ago

Покупка готового бизнеса в Костроме

В наше время все больше предпринимателей обращают внимание на перспективы покупки готового бизнеса, особенно в…

4 месяца ago

Notcoin, как играть

Новый 2024 год в криптосообществе начался с ажиотажа по поводу новой игры и потенциально будущей…

4 месяца ago