Главная » Полезные статьи » Язык PHP » Как через форму положить файл на сервер
Распечатать статью

Как через форму положить файл на сервер

Один из частых вопросов, это как через форму положить файл на сервер. Делается это весьма легко, всего около 10 строк кода и php скрипт готов. И при этом ничего
кроме php вам не понадобится.

Для начала сразу оговорюсь, этот пример будет работать только в php версии 4.0.3 и выше. Получается это из за использования двух новых функций
move_uploaded_file() и is_uploaded_file(). Но поверьте, оно этого стоит, а php все таки желательно обновлять.

Итак сам код php скрипта выглядит следующим образом:

<?php /* Куда сохраняем файлы */ $store_dir='c:/temp/upload/'; /* Если нам не передали файл, то покажем форму */ if (!$user_file) { ?> <form action="<?php print $php_self?>" method="post" enctype="multipart/form-data"> <input type="file" name="user_file"><input type="submit"> </form> <?php } /* Если передали файл */ else { /* Проверим все ли правильно */ if (is_uploaded_file($user_file)) { /* Переместим файл */ move_uploaded_file($user_file, $store_dir.$user_file_name); /* Скажем об этом */ print "Спасибо за файл <br>n"; } /* Если не правильно */ else { print "Не корректные данные <br> n"; } } ?>

Рассмотрим кто и что у нас тут значит:

$user_file — эта переменная (имя берется из формы) содержит путь к временному файлу который мы закачиваем на сервер. Путем приставки к этой переменной
суффиксов _name, _size, _type мы можем получить и другую дополнительную информацию. Например:
$user_file_name — оригинальное имя файла.
$user_file_size — размер файла в байтах.
$user_file_type — mime тип файла, например «image/gif».

is_uploaded_file() — функция возвращает true или false и используется для проверки правильности передаваемого файла. Так например если файл действительно
передан нам через http post, то вы получите true. Ну а в противном случае, например если вам попытались передать что то не то, например комбинацию из
параметров для получения /etc/passwd — то вы получите false.

move_uploaded_file() — функция перемещает временный файл в туда, куда мы указываем. Первый параметр — что перемещаем, второй параметр — куда
перемещаем.

Источник: internet-technologies.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи