Como ler dados CSV em PHP para HTML5 e CSS3 Programação

Se você está trabalhando com dados delimitado é PHP para HTML5 e CSS3 programação, você pode querer ler os dados CSV si mesmo. Não é muito difícil de fazer. Olhar sobre o seguinte código para readContactCSV.php:

image0.jpg
readContactCSV.php

contactos

lt;? phpprint lt; lt; lt; AQUIAQUI- $ dados = arquivo ( "contacts.csv") - foreach ($ data como $ line) {$ lineArray = explode -list ( " t", $ line) ($ fName, $ lName, $ email, telefone $ ) = $ lineArray-print lt; lt; lt; AQUIAQUI-} // fim foreach // imprimir o fundo do tableprint "
PrimeiroÚltimoo emailtelefone
$ fName$ lName$ email$ phone
N "-?>

Neste programa, o conteúdo de um arquivo CSV foram lidos e foi exibido em uma tabela HTML. Não é muito diferente do que a leitura de qualquer outro arquivo de texto, mas há algumas novas torções.

  1. Imprimir o cabeçalho da tabela.

    É mais fácil de imprimir manualmente no cabeçalho da tabela com os nomes de campo. A heredoc simples irá fazer o trabalho.

    impressão lt; lt; lt; AQUIAQUI-
    PrimeiroÚltimoo emailtelefone
  2. Carregar os dados em uma matriz.

    PHP tem uma ferramenta maravilhosa chamada Arquivo. Esta função tem um nome de arquivo como sua única entrada. Ele então abre o arquivo e coloca todo o conteúdo em uma matriz, colocando cada linha em seu próprio elemento da matriz. Não há necessidade de fazer um ponteiro de arquivo, ou para abrir ou fechar o arquivo. Neste exemplo, o conteúdo de contacts.csv são carregados em uma matriz chamada $ dados.

    $ Dados = arquivo ( "contacts.csv") -
  3. Use um para cada loop para percorrer o conteúdo.

    Agora você pode percorrer o conteúdo do arquivo com um simples para cada loop. A linha atual é colocado em uma variável chamada $ line.

    foreach ($ data como $ line) {
  4. Explode cada linha em sua própria matriz.

    Você tem que amar uma função com um nome violento, especialmente quando é realmente útil. Use o explodir comando para separar a linha nas suas partes componentes.

     $ LineArray = explode ( " t", $ line) -
  5. Use o Lista() função de armazenar cada elemento do array na sua própria variável.

    Você pode simplesmente usar a matriz, mas é mais fácil de passar os dados de volta para os mesmos nomes de variáveis ​​que você usou ao criar o programa. o Lista()construção faz exatamente isso. Alimentá-lo com um monte de nomes de variáveis ​​e atribuir uma matriz para isso, e agora cada elemento da matriz será atribuído à variável correspondente.

     lista ($ fName, $ lName, $ email, telefone $) = $ lineArray-
  6. Imprimir as variáveis ​​em uma linha da tabela HTML.

    Todas as variáveis ​​se encaixam bem em uma tabela HTML, então basta imprimir a linha atual da tabela.

     impressão lt; lt; lt; AQUI$ fName$ lName$ email$ phoneAQUI-
  7. Limpar seus brinquedos.

    Há um pouco de limpeza para fazer. Terminar o ciclo e fechar a tabela de HTML. Não há nenhuma necessidade de fechar o arquivo porque o que foi feito automaticamente pelo Arquivo() função.

     } // Fim foreach // imprimir o fundo do tableprint " n" -

Esses atalhos - o Arquivo() função e Lista() - torná-lo muito fácil de trabalhar com dados CSV. Essa é uma razão deste tipo de dados é popular por problemas de dados básicos.

o Lista() construir só funciona em matrizes com índices numéricos e assume que o índice de matriz começa em 0. Se você quiser usar o Lista() função com matrizes associativas, coloque a variável matriz com o array_values ​​() função. tecnicamente, Lista() não é uma função mas uma construção de linguagem.

o Arquivo() função é atraente, mas não é perfeito para cada situação. É ótimo, desde que o tamanho do arquivo é relativamente pequeno, mas se você tentar carregar um arquivo muito grande, você vai correr em limitações de memória. o # 147-line em um momento # 148- abordagem utilizada no readContact.php não tem esse problema, porque há apenas uma pequena quantidade de dados na memória a qualquer momento.

puristas HTML tendem a surtar sempre que vêem uma tabela HTML. É verdade que as tabelas HTML já foram terrivelmente abusado como uma técnica de layout, mas isso não significa que eles devem Nunca ser usado.

menu