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.