Sobes.tech
Junior — Middle

Como pode efetivamente processar e extrair dados de ficheiros grandes?

sobes.tech IA

Resposta da IA

Para um processamento e extração de dados eficientes de ficheiros grandes em PHP, recomenda-se usar leitura por streaming para não carregar todo o ficheiro na memória. Por exemplo, pode ler o ficheiro linha por linha usando a função fgets() ou em blocos com fread(). Isto permite processar os dados em partes e reduzir a carga na memória.

Exemplo de leitura linha por linha:

$handle = fopen('largefile.txt', 'r');
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        // Processar a linha
        echo $line;
    }
    fclose($handle);
} else {
    // Erro ao abrir o ficheiro
}

Se o ficheiro tiver uma estrutura (por exemplo, CSV ou JSON), pode usar analisadores especializados que também suportam processamento por streaming (por exemplo, fgetcsv() para CSV). Isto permitirá extrair dados necessários de forma eficiente sem carregar todo o ficheiro.