За последние 24 часа нас посетили 31973 программиста и 1380 роботов. Сейчас ищут 879 программистов ...

file_get_contents и большие файлы

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

  1. R22

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

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Всем привет, версия php 5.3.0, apache 2.2
    Есть задача кидать файл в БД в виде blob.
    Решаю данную задачу как file_get_contents($filename)
    При работе с большими файлами более 1 метра, происходит прерывание скрипта при чтении файла.
    Ошибок не выводиться.
    Есть какие-то идеи?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    R22
    Включи отображение всех ошибок.
     
  3. R22

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

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Включил, сделал самое первое
    Ошибок никаких, даже в логах сервера.
    Идет тупое обрывание скрипта и выход из программы.
    Файлы все присутствуют, при размере менее 1 метра все нормально, чуть больше возникает проблема.
     
  4. Silicium

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

    С нами с:
    1 апр 2008
    Сообщения:
    205
    Симпатии:
    0
    Адрес:
    Киев
    R22
    Возможно настройки ПХП, не хватает чего-то
    Странно конечно что ошибок не дает
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    покажи php.ini там где upload есть

    Код (Text):
    1.  
    2. hosting(440hz):~/test$>php -i | grep upload
    3. file_uploads => On => On
    4. upload_max_filesize => 2M => 2M
    5. upload_tmp_dir => no value => no value
     
  6. R22

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

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    file_uploads = On
    ;upload_tmp_dir =
    upload_max_filesize = 2M

    При этом при всем файлы доступны через файловую систему, и никакого upload не происходит.
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    чече?
     
  8. TheShock

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

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    поставь php версии 5.3 для начала
     
  9. armadillo

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

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    звиздит имхо.
     
  10. R22

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

    С нами с:
    24 мар 2008
    Сообщения:
    78
    Симпатии:
    0
    Адрес:
    Odessa
    Версия стоит 5.3.0. была опечатка или еще что-то (отредактировал).
    Ребят, особенно модераторы, Вам не кажется что это форум превратился, в черт знает что.
    Где есть вопрос, а никаких ответов не поступает, или поступает но какой-то бред и сплошное обсирательство.
    Версия была указана правильно именно 5.3.0., если даже это не указано то смотрите
    http://ua.php.net/manual/en/function.fi ... ntents.php, а особенно то что стоит в скобочках после названия функции (PHP 4 >= 4.3.0, PHP 5).

    440Hz - причем тут директивы связанные с upload? Чтение файлов происходит с диска, а именно с директории где хранятся файлы, которые необходимо перевести в blob.

    armadillo - R22 писал(а): версия php 3.0 звиздит имхо. И что это за ответ, для чего надо было мучатся и писать это. Разве только что-то ляпнуть.

    Пасибо всем. Закрывайте, не фиг больше трепаться.
     
  11. admyx

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

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    R22
    ini_set('display_errors', 'on');
    error_reporting(E_ALL);

    а сразу после процедуры разбора файла - exit();
     
  12. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    ну что сказать, поставить print('123') в нужных местах и посмотреть где рубит оно сложно? отлаживаться не умеем?

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