Учебник по основам PHP. PHPBeginner



         

Загрузка файлов на сервер методом HTTP POST - часть 2


  • $HTTP_POST_FILES['userfne']['name'] — имя файла на клиентской машине (без пути к нему).
  • JHTTP_POST_FILES['userfile']['type'] - MIME тип файла, автоматически определяемый браузером.
  • $HTTP_POST_FILES['userfi1e']['size'] — размер файла и байтах.
  • $HTTP_POST_FILES['userfile']['tmp_name'] — имя временного файла, в котором был сохранен загруженный на сервер файл.
  • По умолчанию, если каталог не установлен параметром конфигурации upload_tmp_dir, загруженные файлы сохраняются в системном каталоге для временных файлов (определяется системной переменной окружения TMPDIR). Обычно загруженные файлы перемещаются из временного каталога в какой-либо специально для этого предназначенный, это может быть сделано с помощью функции move_ uploaded_file().

    <?php
    foreach ($HTTP_POST_FILES as $v) {
    // здесь обычно проводится проверка
    допустимости if(move_uploaded_file
    ($v['tmp_name'J.
    "Е/Tmp/UpLoaded.Files/".$v['name']))
    echo "Файл r$v[name]' (размером
    $v[snze] байт)", был успешно загружен
    <ВР>\n", } ?>

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

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

    <input name="userfile[]" type="file">
    <br>
    <input name="userfile[]" type="file">
    <br>
    <input name="userfile[]" type-"file">
    <br>

    Тогда структура массива $HTTP_POST_FILES будет иметь другую форму:

    Array (
    [userfilo] => Array ( [name] =>
    Array [0 - ...] [type] => Array
    [0 - ..] [tmpjiame] => Array [0 - ... ]
    [size] > Array [0 - . ] ))

    В этом случае тип первого загруженного файла будет находиться в элементе $HTTP_POST_FILES["userfile"]["type"][0], а размер второго в $HnP_POST_FILES["userfile"]["size"][l].

    Загрузка методом PUT

    PHP также поддерживает загрузку HTTP PUT, используемую такими устаревшими приложениями, как Netscape Composer. Этот метод работает намного проще, в теле заголовка запроса HTTP передается строка:




    Содержание  Назад  Вперед