-Приложения

  • Перейти к приложению Открытки ОткрыткиПерерожденный каталог открыток на все случаи жизни
  • Перейти к приложению Я - фотограф Я - фотографПлагин для публикации фотографий в дневнике пользователя. Минимальные системные требования: Internet Explorer 6, Fire Fox 1.5, Opera 9.5, Safari 3.1.1 со включенным JavaScript. Возможно это будет рабо
  • Все на карте

 -Поиск по дневнику

Поиск сообщений в Net-man

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 20.04.2010
Записей: 814
Комментариев: 5985
Написано: 11575


Уроки по PHP: Загрузка файлов на сервер

Понедельник, 16 Мая 2011 г. 20:46 + в цитатник

Upload файлов при register_globals=On

В этом случае параметры передаваемые скрипту становятся глобальными переменными и кроме этого PHP также формирует массивы $_GET[], $_POST[], $_FILES[]. При такой конфигурации вы можете выбирать как вам получить доступ к передаваемым параметрам. Либо вы пользуетесь глобальными переменными, либо получаете доступ через массивы $_GET[], $_POST[], $_FILES[].

Здесь будем использовать глобальные переменные, а в следующем разделе будем использовать массив $_FILES[].
Напишем HTML форму для отправки файла на сервер.

Содержание формы (файл upload.html):


color=#800000><html>
<body>
<FORM
ENCTYPE="multipart/form-data" ACTION="myup.php"
METHOD=POST>
Выберете файл: <INPUT NAME="myfile"
TYPE="file">
<INPUT TYPE="submit"
VALUE="Загрузить">
</FORM>
</body>
</html>


После того как пользователь выбрал имя файла и нажал кнопку Загрузить, PHP помещает загружаемый файл во временную директорию указанную в параметре upload_tmp_dir файла php.ini. В этой директории этот файл будет храниться только во время запроса! После запроса PHP удалит этот временный файл. Поэтому загружаемый файл нужно куда-нибудь переместить (если он вам понадобиться в дальнейшем). Явно удалить временный файл можно функцией unlink(string filename).

Так как в HTML форме мы написали <INPUT NAME="myfile" TYPE="file">, то при запросе в скрипте у нас будет глобальная переменная с именем $myfile.

Здесь рассмотрим загрузку текстового файла и вывод его содержимого.

Скрипт обработки:

// Загрузка файлов на сервер
//
Если register_globals=On

    print("Имя файла на
нашем сервере (во время запроса):
".$myfile."
");
    print("Имя файла на
компьютере пользователя:
".$myfile_name."
");
    print("MIME-тип файла:
".$myfile_type."
");
    print("Размер файла:
".$myfile_size."

");

    //
Получаем содержимое файла
    $fp =
fopen($myfile,"r");
    $content = fread($fp,
filesize($myfile));
   
fclose($fp);

    // Вывод содержимого
файла
    print($content);
?>

Пояснения:

$myfile - имя временного файла, в котором находятся загруженные данные;

Когда пользователь отправляет форму, PHP автоматически определяет ещё несколько переменных:

$myfile_name - имя файла на компьютере компьютере пользователя;

$myfile_type - MIME-тип файла.

$myfile_size - размер файла в байтах.

При загрузке текстовых файлов переменная $myfile_type = "text/plain", при загрузке изображения gif переменная $myfile_type = "image/gif".

При register_globals=On можно пользоваться массивом $_FILES[]. Как им пользоваться мы рассмотрим ниже.

Upload файлов при register_globals=Off

При register_globals=Off параметры передаваемые скрипту заносятся в массивы $_GET[], $_POST[], $_FILES[]. В нашем случае нас интересует массив $_FILES[]. В этом массиве храниться вся информация о всех загружаемых файлах. В нашем случае структура этого массива следующая:

$_FILES["myfile"]["tmp_name"] - Имя временного
файла
$_FILES["myfile"]["name"] - Имя файла на компьютере
пользователя
$_FILES["myfile"]["size"] - Размер файла в
байтах
$_FILES["myfile"]["type"] - MIME-тип
файла
$_FILES["myfile"]["error"] - код ошибки.



Источник: www.cyberguru.ru/php-sources/

Рубрики:  Полезное
Уроки по PHP
Метки:  

Процитировано 1 раз

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку