Меню сайта
Полезные статьи
Авторские права [1]
Антивирусы [6]
Ajax [2]
Joomla [26]
PHP [10]
Базы данных [2]
Заработок в интернете [0]
Раскручиваем сайт сами [20]
Бесплатное ПО для Windows [10]
Переходим по ссылке
Реклама
Интересное
Раскручиваем сайт сами
Что такое тИЦ (0)
Web разработчику
Сайткрафт-Студия 5.22 (0)
Раскручиваем сайт сами
Первые шаги по продвижению нового сайта (0)
Joomla
Лучший сайт о Joomla - Forjoomla.ru (0)
Joomla
Facebook Fanbox - Модуль отображения аватаров читателей вашего сайта, автоматически импортированных из Facebook (0)
Joomla
Компонент Akeeba Backup — создание резервной копии сайта на Joomla (0)
Софт
Kaspersky Anti-Virus 2012 12.0.0.323 Beta (Rus) (0)
Раскручиваем сайт сами
Что такое PR (0)
Joomla
Что такое компоненты Joomla (0)
Раскручиваем сайт сами
Секреты профессиональной раскрутки сайтов. Как поднять ТИЦ высокочастотного сайта, заплатив на 90% меньше (0)
Наши друзья

Бесплатная раскрутка Graffiti Decorations(R) Studio (TM) Site Promoter

статистика
Реклама
Главная » Статьи » PHP

PHP загрузка файла на сервер

Для загрузки пользовательских файлов на сервер используется специальный элемент управления,позволяющий указать путь к загружаемому файлу(при помощи кнопки Обзор).Элемент управления имеет следующий синтаксис:

PHP загрузка файла на сервер

<input type="file">

Помимо атрибута type,элемент управления допускает указание атрибутов name и size.Простая форма для отправки файла на сервер демонстрируется ниже:

HTML-форма для загрузки файлов на сервер - index.html

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

Атрибут enctype формы определяет вид кодировки,которую браузер применяет к параметрам формы.Для того чтобы отправка файлов на сервер действовала,атрибуту enctype необходимо присвоить значение multipart/form-data.По умолчанию этот атрибут имеет значение application/x-www-form-urlencoded.

После того как получен HTTP-запрос,содержимое загруженного файла записывается во временный файл,который создается в каталоге сервера,заданном по умолчанию для временных файлов,если другой каталог не задан в файле php.ini(директива upload_tmp_dir).

Характеристики загруженного файла доступны через двумерный суперглобальный массив $_FILES.При этом переменная со значением этого массива может иметь следующий вид:

- $_FILES['filename']['name](содержит исходное имя файла на клиентской машине);

- $_FILES['filename']['size'](содержит размер загруженного файла в байтах);

- $_FILES['filename']['size'](содержит MIME-типа файла);

- $_FILES['filename']['tmp_name'](содержит имя временного файла,в который сохраняется загруженный файл).

Проверить успешность загрузки файла на сервере можно при помощи специальной функции is_upload_file(),которая принимает в качестве единственного параметра имя файла ($_FILES['filename']['name']) и возвращает TRUE в случае успешной загрузки и FALSE в случае неудачи.

Ниже приведен скрипт upload.php,который загружает файл на сервер и копирует его из временного каталога в каталог temp/.

<?php
 if(copy($_FILES['filename']['tmp_name'],
 "temp/".$_FILES['filename']['name']))
 {
 echo "Файл успешно загружен";
 }
 else
 {
 echo "Ошибка загрузки файла";
 }
?>

После выполнения этого скрипта выбранный для загрузки файл будет помещен в подкаталог temp каталога,в котором расположен скрипт,а браузер выдаст фразу "Файл успешно загружен".

Следующий скрипт позволяет вывести характеристики загруженного файла.Для этого необходимо модифицировать скрипт так,как представлено ниже:

<strong>Характеристики файла</strong>
<?php
 if(copy($_FILES['filename']['tmp_name'],
 "temp/".$_FILES['filename']['name']))
 {
 echo "Файл успешно загружен 
<";
 // Далее выводится информации о файле
 echo "Характеристики файла: 
";
 echo "Имя файла: ";
 echo $_FILES['filename']['name'];
 echo "
Размер файла: ";
 echo $_FILES['filename']['size'];
 echo "
Каталог для загрузки: ";
 echo $_FILES['filename']['tmp_name'];
 echo "
Тип файла: ";
 echo $_FILES['filename']['type'];
 }
 else
 {
 echo "Ошибка загрузки файла";
 }
?>

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

Ограничение размера загружаемого файла

<?php
 if($_FILES['filename']['size'] > 4*1024*1024)
 {
 exit "Размер файла превышает три мегабайта";
 }
if(copy(_FILES['filename']['tmp_name'],
 "temp/".$_FILES['filename']['name']))
 {
 echo "Файл успешно загружен 
";
 }
 else
 {
 echo "Ошибка загрузки файла";
 }
?>

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

if($_FILES['filename']['size'] > upload_max_filesize)

Значение директивы upload_max_filesize можно изменить в конфигурационном файле php.ini.



Источник: http://live-code.ru
Категория: PHP | Добавил: defaultNick (19.02.2012)
Просмотров: 2637 | Теги: форма загрузки файла php, php скрипт загрузки файлов, загрузка файлов через php, php загрузка больших файлов, загрузка файлов с помощью php | Рейтинг: 4.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *:

Расширенный поиск
Smile :D
Реклама
Интересное
Вход