БлогNot. PHP: самая простая загрузка файлов

Помощь дата->рейтинг Поиск Почта RSS канал Статистика nickolay.info Домой

PHP: самая простая загрузка файлов

В связи со сверхбольшой занятостью, вряд ли чего-то дельного напишу на этой и следующей неделе :(

Ну а эта маленькая заметка просто возникла в процессе работы. На моём сайте уже есть развёрнутый пример на загрузку файлов со стороны пользователя, включающий замечания по поводу того, что это лучше делать отдельным классом и следить за правами на папки.

Здесь я ставил цель показать загрузку файла "базовым" и совсем простым кодом, по сути, контролируется только размер файла, уж без этого как-то совсем нехорошо :)

Файл index.html представляет собой обычную форму HTML (без оформления начала и конца файла), в форме соблюдены все 3 условия успешной загрузки:

Данные принимает скрипт upload.php, находящийся в той же папке, что и файл HTML, а загруженные файлы он "складывает" во вложенную папку upload внутри папки скрипта (на реальном хостинге нужно будет позаботиться о правильных правах на неё, в Denwer сработает и так). В файле также отсутствует обрамление тегами HTML по стандарту. Вот как выглядит оглавление папки со скриптом:

структура папок скрипта в Denwer
структура папок скрипта в Denwer

По картинке видно, что при запущенном локалхосте Denwer обратиться к скрипту из браузера можно по URL-адресу

http://localhost/upload/

Файл index.html
<form action="upload.php" method="post"
 enctype="multipart/form-data">
 <input type="file" name="filename">
 <input type="submit" value="Загрузить">
</form>
Файл upload.php
<?php
 if ($_FILES['filename']['size'] > 3*1024*1024) {
  echo 'Файл больше 3 Мб!'; exit;
 }
 if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
  $newname = './upload/'.$_FILES['filename']['name'];
  move_uploaded_file($_FILES['filename']['tmp_name'], $newname);
  echo 'Файл загружен: '.
   '<a href="'.$newname.'" target="_blank">ссылка</a>';
 }
 else {
  echo 'Ошибка загрузки файла!'; exit;
 }
 echo '<br><a href="index.html">Назад</a>';
?>

теги: учебное php

комментарии (0)

11.01.2017, 15:06; рейтинг: 1426

  свежие записипоиск по блогукомментироватьстатистика

Наверх Яндекс.Метрика
© PerS
вход