$874.78


$14.01


$15.82


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

Один из частых вопросов, это как через форму положить файл на сервер. Делается это весьма легко, всего около 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=«» 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 «Спасибо за файл
n»;
}
/* Если не правильно */
else {
print «Не корректные данные
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() — функция перемещает временный файл в туда, куда мы указываем. Первый параметр — что перемещаем, второй параметр — куда
перемещаем.

 

Интересное

FAQ по разделу CGI интерфейс
Как мне сделать аутентификацию на Перле, а не средствами веб-сервера?:Для того, чтобы браузер выдал запрос логина и пароля, скрипт должен выдать следующие заголовки: print «WWW-Authenticate:...
Подробнее...
Проблемы программы...
Illustrator — странная программа, она не похожа на другие продукты Adobe. Порой складывается впечатление, что ее выпускает не Adobe столько проблем она делает. С самой первой из них пользователь...
Подробнее...
Служба Доменных Имен
Служба Доменных Имен предназначена для того, чтобы машины, работающие в Internet, могли по доменному имени узнать IP-адрес нужной им машины, а также некоторую другую информацию; а по IP-номеру...
Подробнее...
Сквозная навигация
Сквозная навигация — это система связей (гиперссылок), облегчающих движение пользователя по сайту. Речь идёт о максимально возможном переплетении данных. Кроме того, наличие такой связи...
Подробнее...
Удаление неиспользуемых...
Известно ли вам, что до тех пор, пока не удалить драйвер в Windows XP, он будет впустую расходовать системные ресурсы? Ниже дана пошаговая инструкция, которая поможет увидеть и удалить ненужные...
Подробнее...
Компьютер на замке
Хакеры, спамеры, недобросовестные сотрудники и коллеги... Плохишам и просто праздным любопытным вход в компьютер должен быть заказан. Как и важным данным — выход оттуда.Вместе с...
Подробнее...
Red Hat и USB-устройства
Цель этой статьи — заставить работать мою USB мышь, USB камеру и USB жесткий диск с Linux«ом.Мой Компьютер с Emperor Linux и USBЯ начал использовать Red Hat 7.3. Хотя уже прошло много времени, и...
Подробнее...
Счетчик посещений на Delphi
Счетчики предназначены для учета количества посетителей на Ваш сайт. Кроме этого на счетчик можно возложить операции ведения статистики, учет хостов откуда пришли посетители и т.д.Данный пример...
Подробнее...
Стиль против Дизайна
От Дизайна к СтилюМой отец был полупрофессиональным художником (Sunday painter), книжки с его иллюстрациями сыграли для меня в детстве формирующую роль. Как и многие другие дети, я зачаровывался...
Подробнее...
Serv-U: Установка FTP-сервера
Хочу установить на своей машине в локальной сети FTP-сервер, но не выбрал программу. Какую именно вы посоветуете и каким образом ее нужно настроить?Выбор программы Спрос рождает предложение,...
Подробнее...