Como analisar um arquivo CSV em PHP
Ralfh Bryan Perez
3 janeiro 2023
PHP
PHP CSV
Um CSV é um tipo de arquivo. Significa Comma Separated Values. É comumente utilizado em diferentes softwares, como o Excel. Isto permite que os dados sejam salvos em um formato tabular e com uma extensão .csv.
Para analisar um arquivo CSV em PHP, isso pode ser feito utilizando a combinação de funções fopen(), fgetcsv() e fclose() que estão embutidas no PHP.
Exemplo:
/*
//sampleFile.csv
dog, cat, rat, fish
horse, cow, carabao
bird, rabbit, chicken
*/
$ctr = 1;
if (($file = fopen("sampleFile.csv", "r")) !== FALSE) {
while (($record = fgetcsv($handle, 1000, ",")) !== FALSE) {
$total = count($record);
echo "<p> $total fields in line $row: <br /></p>\n";
$ctr++;
for ($x = 0; $x < $ctr; $x++) {
echo $record[$x] . "<br />\n";
}
}
fclose($file);
}
//output:
/*
4 fields in line 1:
dog
cat
3 fields in line 2:
horse
cow
carabao
3 fields in line 3:
bird
rabbit
chicken
*/
O exemplo acima analisa o conteúdo de sampleFile.csv utilizando estas funções:
fopen(Filename, Mode, Include_path, context)
Esta função aceita uma URL ou arquivo, vincula um recurso nomeado que é especificado pelo nome do arquivo a um fluxo.
Parâmetros:
Filename(obrigatório) - Este parâmetro especifica o arquivo ou URL a ser aberto.Mode(obrigatório) - Este representa o tipo de acesso que você necessita ao arquivo.Include_path(opcional) - Definindo este parâmetro como1, o arquivo será procurado noInclude_path.context(opcional) - Especifica o conteúdo do manipulador do arquivo. É um array de opções que pode ser atualizado sobre o comportamento do fluxo.
fgetcsv(File, Length, Separator, Enclosure, Escape)
Esta função é responsável pela análise de uma linha de um arquivo CSV aberto.
Parâmetros:
File(obrigatório) - Este parâmetro especifica o arquivo aberto para retornar e analisar uma linha de um arquivo CSV aberto.Length(opcional no PHP 5 e abaixo, mas necessário no PHP 5.1 e acima) - Este parâmetro é o comprimento máximo da linha. Este deve ser maior do que a linha mais longa do arquivo. Se este parâmetro não estiver presente, então o comprimento não é limitado, o que o torna mais lento de analisar.Separator(opcional) - Este parâmetro é o separador de campo, e o valor padrão é uma vírgula -,.Enclosure(opcional) - Este parâmetro é o enclausuramento do campo, e o valor padrão é".Escape(opcional) - Este parâmetro é o caractere de escape, e o valor padrão é\\.
fclose()
Esta função fecha um ponteiro de arquivo aberto.
Parâmetro:
File(obrigatório) - Especifica qual arquivo fechar.
Nota
O ponteiro do arquivo deve ser válido, e deve apontar para um arquivo aberto com sucesso por
fopen().
Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se