За последние 24 часа нас посетили 61237 программистов и 1746 роботов. Сейчас ищут 1163 программиста ...

Загрузка файла без записи со считыванием содержимого

Тема в разделе "PHP для новичков", создана пользователем rar, 13 окт 2009.

  1. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Нужно просто загрузить файл через форму, но не записывать его в файловую систему, а просто получить содержимое. Как сделать такое?
     
  2. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Записать, вытащить содержимое и стереть
     
  3. HDD

    HDD Активный пользователь

    С нами с:
    21 сен 2009
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    РФ, Оренбург
    можно прям с папки темп считать, вот только я не помню, всегда ли они удаляются сами оттуда
     
  4. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Думаю да. Содержимое как получить - file_get_contents?
     
  5. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    да.
    Имя файла в $_FILES
     
  6. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Вот это работает:
    PHP:
    1. <?php
    2.  
    3. if (!isset($_POST['sendfile'])) exit();
    4. $contents = file_get_contents($_FILES['userfile']['tmp_name']);
    5. echo $contents;
    6.  
    7. ?>
    Скажите, а заботиться о том, что загруженный файл остался во временной папке не надо беспокоится? Система сама его потом удалит?
     
  7. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Удаляй сам. Кто тебе мешает это сделать?
     
  8. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    А это надо, вообще, самому удалять?
     
  9. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Ты когда поешь объедки по всей квартире бросаешь?
    В надежде что кто-то уберет? :)

    Кто-то может и уберет, но это может быть очень нескоро.
     
  10. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Дык, я же когда копирую файл в директорию при загрузке, я же удаляю чего-то там из tmp...
     
  11. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    при загрузке ты делаешь
    move_uploaded_file()
    он забирает из tmp и кладет куда укажешь.

    А тут ты его просто читаешь в tmp.
     
  12. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Чем его удалять - unlink()?
     
  13. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    а что можно чем-то еще?
     
  14. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Я и спрашиваю.

    То есть, это вот так должно выглядеть:

    PHP:
    1. <?php
    2.  
    3. if (!isset($_POST['submit']) || !isset($_FILES['csv_file'])) die('Ошибка загрузки файла.');
    4. $contents = file_get_contents($_FILES['csv_file']['tmp_name']);
    5. unlink($_FILES['csv_file']['tmp_name']);
    6.  
    7. ?>
     
  15. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    надо почитать любую книжку по php, и php.net тоже поизучать не мешает совсем.
    и вопрос таких тогда не будет.

    ну вот написал код и что тебе должны сказать, да код правильный, такой как надо. ??
    а попробовать его запустить самому? не нельзя?