Como Ler um arquivo CSV utilizando a linguagem de programação PHP
Na Primeira linha iremos definir o nome do arquivo:
$name_csv = 'ARQUIVO.csv';
Na sequência declaramos a função “lineStart”:
function lineStart($file) {
$position = ftell($file);
while (fgetc($file) != "\n") {
fseek($file, --$position);
if ($position == 0) break;
}
return $position;
}
A ideia será ler linha por linha do arquivo CSV, porém a cada leitura iremos remover a linha do próprio arquivo. Dessa forma poderemos processar arquivos extensos, com uma grande quantidade de linhas e mesmo que ocorra timeout, poderemos continuar da onde paramos.
Abrimos o arquivo CSV
$file = fopen($name_csv, 'r+');
Apontamos o ponteiro para o final do arquivo (A leitura do CSV será pelo final do arquivo, última linha)
fseek($file, -1, SEEK_END);
Na sequência começamos a leitura do arquivo
while (fstat($file)['size']) {
lineStart($file);
$data = fgetcsv($file);
/* arquivo você irá aplicar a sua lógica */
ftruncate($file, lineStart($file)); /* removemos a linha processada do arquivo CSV */
}
fclose($file);
$name_csv = 'ARQUIVO.csv';
function lineStart($file) {
$position = ftell($file);
while (fgetc($file) != "\n") {
fseek($file, --$position);
if ($position == 0) break;
}
return $position;
}
$file = fopen($name_csv, 'r+');
fseek($file, -1, SEEK_END);
while (fstat($file)['size']) {
lineStart($file);
$data = fgetcsv($file);/* arquivo você irá aplicar a sua lógica */ ftruncate($file, lineStart($file));
}
fclose($file);
Segurança: Atualizações frequentes geralmente incluem patches de segurança para corrigir vulnerabilidades identificadas. Ao manter o Magento atualizado, você reduz significativamente…
Como adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2 Injete o Magento\Framework\Message\ManagerInterface no construtor da sua…
Para exibir as mensagens adicionadas na classe Magento\Framework\Message\ManagerInterface em um arquivo .phtml, você pode usar o seguinte código: <?php $objectManager…
Para criar um script no Magento 2 que exporte as categorias para um arquivo XML com o nome da categoria,…
Para definir um vídeo MP4 como plano de fundo em um <div> usando HTML e CSS, você pode seguir estas…
Como desativar o "lastname" no Magento 2 e Adobe Commerce Desativando a obrigatoriedade do campo Execute a SQL abaixo diretamente…