За последние 24 часа нас посетили 19119 программистов и 1639 роботов. Сейчас ищут 904 программиста ...

Работа с очень большим файлом

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

  1. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    что ж ты там навертел-то, что у тебя и кавычки влияют?..
     
  2. graf_vorontsov

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

    С нами с:
    12 фев 2011
    Сообщения:
    183
    Симпатии:
    1
    Адрес:
    Украина, Харьков
    хи...
    Код (Text):
    1. '1208547','4079142350','4','10275','407914-2350','','1','1'
    2. '1208547','F01G0900M1','1','','','','',''
    3. '1208548','4047023617927','5','','40 47023 61792 7','','',''
    4. '1208548','4079142420','2','','4079142420','0','','1'
    5. '1208549','4047023627926','5','','40 47023 62792 6','','',''
    может и не влияют, мне кажется что без них всётаки быстрее

    Добавлено спустя 6 минут 1 секунду:
    а то что у меня не все данные загрузились а определённое количество строк.. наверное это я неправильно сделал.. надо было наверное рекурсивно както сравнивать данные которые я заменял.. вобщем пробую варианты, напишу потом что натворил
     
  3. function()

    function() Активный пользователь

    С нами с:
    4 янв 2016
    Сообщения:
    4
    Симпатии:
    0
    Самый быстрый способ работы с файлами большого размера проще реализовать на JavaScript вот пример оцените скорость работы сами https://calculators.vip/ru/razdelit-fayl-na-chasti/ . А на php нужно реализовать через побитовые операторы, тогда скорость работы будет максимальная.
     
  4. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    а у меня и fgets сам прекрасно берёт ток одну строку...
    PHP:
    1. if ($handle = fopen($pathFile, "r+")) {
    2.             while (($buffer = fgets($handle)) !== false) {
    3.                 print $buffer . "\r\n";
    4.  
    5.             }
    6.             fclose($handle);
    7.         }
    --- Добавлено ---
    э
    слушай разбей файл на много частей командой split [pathfile] -l 10000
    и залей их просто по очереди через скрипт
    добавь nohup перед командой и скрипт будет в фоне исполнятся.
     
  5. function()

    function() Активный пользователь

    С нами с:
    4 янв 2016
    Сообщения:
    4
    Симпатии:
    0
    Split делит строку по разделителю, этот способ негоден для больших файлов.
     
  6. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Попробуй потом рассказывай.