Импорт больших SQL-дампов через PHP

Основная проблема при импорте большого SQL-дампа — нехватка памяти при чтении всего дампа. Решение очевидно: грузить в память только то, что нужно в данный момент.
$f = @fopen("path/to/dump.sql", "r");
if($f)
{
    $q = '';
 
    while(!feof($f))
    {
        // читаем построчно в буфер $q      
        $q .= fgets($f);
 
        // пока не упрёмся в ;
        if(substr(rtrim($q), -1) == ';')
        {
            // выполяем запрос
            execute_sql($q);
 
            // обнуляем буфер
            $q = '';
        }
    }
}
Теги:
SQL-дамп
Добавлено: 07 Мая 2018 06:47:11 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...