LINUX.ORG.RU
решено ФорумAdmin

Проблема с загрузкой файлов на сервер

 , ,


0

1

Привет, LOR, есть один Apache на Debian 7, который отказывается сохранять загружаемые файлы.

В /etc/php5/apache2/php.ini:

  • file_uploads = On
  • upload_tmp_dir = «tmp»
  • max_file_uploads = 20
  • upload_max_filesize = 50M

Права:
rwxrwxrwx 2 www-data www-data 4096 Окт 31 23:58 tmp

Код:

<body>
    <?php
    if (array_key_exists('file', $_FILES)) {
        print_r($_FILES['file']['tmp_name']);
    }
    ?>

    <form method="post" action="index.php" enctype="multipart/form-data">
        <input type="file" name="file" />
        <input type="submit" value="Upload" />
    </form>
</body>

При загрузке в массиве можно наблюдать:
[tmp_name] => /tmp/phpsOsR74

При попытке вывести файл, в логе /var/log/apache2/error.log появляется:
[error] [client 192.168.1.10] File does not exist: /var/www/tmp/phpsOsR74, referer: http://192.168.1.100/index.php

Что этот шакал хочет от меня?

При попытке вывести файл, в логе /var/log/apache2/error.log появляется

А при чём тут лог Апача? Ты этот файл потом пытаешься в браузере, что ли, увидеть? Так на то там и /tmp/, что после отработки скрипта файл удаляется. Нужно предварительно перенести его в постоянное место. Например, через http://ru2.php.net/manual/en/function.move-uploaded-file.php

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

Ах вот оно что. Да, получилось, спасибо большое.

// будете кто-нибудь статьи или книги писать - обязательно укажите, что файлы нужно перемещать, я штук 5 разных материалов прочитал - ни в одном нет

BrokenHome ()
Ответ на: комментарий от BrokenHome

я штук 5 разных материалов прочитал - ни в одном нет

Google, «php upload». Первая же ссылка:

http://php.net/manual/ru/features.file-upload.post-method.php

И по ней на русском:


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

KRoN73 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.