Iniciar uma conversa

Leitura de arquivo via PHP

Neste exemplo veremos como abrir um arquivo, via PHP, e salvar o seu conteudo numa base de dados. Abaixo segue uma imagem de como o nosso código ficará após o fim deste tutorial:

Um exemplo de arquivo, que poderia ser utilizado nesta situação seria o TXT, com valores ou textos. O tutorial terá como base, o uso de uma aplicação controle do scriptcase. Os códigos poderão ser chamados dentro dos eventos onLoad ou onValidate da aplicação.

O código é divido nas seguintes etapas:

  • Verificar a existencia do caminho do arquivo a ser aberto.
  • Abrir um arquivo, com extensão TXT por exemplo, usando o comando fopen().
  • Realizar um loop para varrer o arquivo até o seu final usando o comando fgets().
  • Verificar o retorno da função fgets().
  • Gravar o retorno da função fgets() na base de dados usando a macro sc_exec_sql().
  • Fechar o arquivo, usando o comando fclose().

1 - Primeira Etapa: Verificar a existencia do caminho do arquivo a ser aberto.

É recomendado gravar o caminho e nome do arquivo em variaveis.

Exemplo de Código:

$path = "./doc"

$arquivo="documento.txt";
$file = $path."/".$arquivo;

Para verificar a existencia do arquivo a ser aberto, use a função php "file_exists()".

Exemplo de Código:

if (!file_exists($file))
echo "arquivo nao existe";
else{

...

}

2 - Segunda Etapa: Abrir um arquivo, com extensão TXT por exemplo, usando o comando fopen().

A função fopen() é usada tanto para gravação quanto leitura de arquivos. No nosso exemplo, a função recebrá dois parâmetros:

  • Caminho completo ao arquivo.
  • Char que informa o tipo de acesso ao arquivo. 
mode Descrição
"r" Abre somente para leitura; coloca o ponteiro do arquivo no começo do arquivo.
"r " Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo.
"w" Abre somente para escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero. Se o arquivo não existir, tenta criá-lo.
"w " Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero. Se o arquivo não existir, tenta criá-lo.
"a" Abre somente para escrita; coloca o ponteiro do arquivo no final do arquivo. Se o arquivo não existir, tenta criá-lo.
"a " Abre para leitura e escrita; coloca o ponteiro do arquivo no final do arquivo. Se o arquivo não existir, tenta criá-lo.
"x" Cria e abre o arquivo somente para escrita; coloca o ponteiro no começo do arquivo. Se o arquivo já existir, a chamada afopen() falhará, retornando FALSE e gerando um erro de nível E_WARNING. Se o arquivo não existir, tenta criá-lo. Isto é equivalente a especificar as flags O_EXCL|O_CREAT para a chamada de sistema open(2).
"x " Cria e abre o arquivo para leitura e escrita; coloca o ponteiro no começo do arquivo. Se o arquivo já existir, a chamada afopen() falhará, retornando FALSE e gerando um erro de nível E_WARNING. Se o arquivo não existir, tenta criá-lo. Isto é equivalente a especificar as flags O_EXCL|O_CREAT para a chamada de sistema open(2).

 

Exemplo de Código:
$fp = fopen($file, "r");

Fonte:http://php.net/manual/pt_BR/function.fopen.php

 

3 - Terceira Etapa: Realizar um loop para varrer o arquivo até o seu final usando o comando fgets().

Usando o loop while(), use a função feof() para verificar o final do arquivo e assim poder para o loop.

Exemplo de Código:
while (!feof($fp)){

$current_line = fgets ($fp);

}

http://php.net/manual/en/function.feof.php

 

4 - Quarta Etapa: Verificar o retorno da função fgets().

Caso deseje ignorar retorno vazio do arquivo, use a função php empty().

Exemplo de Código:

if(!empty($current_line)){


}

http://php.net/manual/en/function.empty.php

 

5 - Quinta Etapa: Gravar o retorno da função fgets() na base de dados usando a macro sc_exec_sql().

Esta macro permite a execução de comandos SQL, para os quais o usuário poderá condicionar as circunstâncias em que os mesmos devem ser executados.

Exemplo de Código:
sc_exec_sql("INSERT INTO tabela(valor) VALUES ($current_line)");

http://downloads.scriptcase.net/downloads/v7/manual/pt_br/webhelp/manual_mp/28-Macros/00-macros_sc.htm#sc_exec_sql

 

6 - Sexta Etapa: Fechar o arquivo, usando o comando fclose().

É sempre recomendado fechar o arquivo após a sua leitura.

Exemplo de Código:
fclose($fp);

http://php.net/manual/en/function.fclose.php

Escolher arquivos ou arraste e solte arquivos
Esse artigo foi útil?
Sim
Não
  1. Amanda Santos (Migrated deleted Agent)

  2. Publicado
  3. Atualizado

Comentários