·

Análise de Sistemas ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

081123 1025 Aula 10 Arquivos webacademicocanoasifrsedubrrcpintoIFRSphpaula10aula10arquivosphp 13 Linguagem de Programação IV PHP Aula 10 Arquivos Índice Includes Leitura Escrita Includes include O comando include serve para incluir outros arquivos PHP em nosso programa de forma similar ao que ocorre com o include da linguagem C ou o import da linguagem Java Com isso podemos criar diferentes funcionalidades e bibliotecas em arquivos diferentes e unilos através de includes Quando fazemos um include é como se o PHP copiasse o arquivo desejado e colasse no local do include Observe abaixo o include em ação Este texto está dentro do arquivo aula10arquivos2php e não no arquivo aula10arquivosphp que você está aces Aqui foi declarada a função quadrado que pode ser usada pelo arquivo que deu o include O comando usado para fazer esta inclusão de arquivo foi o seguinte php includeaula10arquivos2php E veja como a função quadrado está realmente disponível O quadrado de 3 é 9 Fonte php echo O quadrado de 3 é quadrado3 require O problema do comando include é que ele não gera nenhum erro caso o arquivo desejado para inclusão não exista Podemos ficar horas procurando por um bug por causa disso Para sanar este problema basta usar o comando require em vez de include Leitura Nesta seção veremos como abrir e ler o conteúdo de arquivos usando PHP Existem diversas funções para este fim veremos aqui as principais e também funções auxiliares filegetcontents string filegetcontents string filename bool useincludepath false resource context int offs filename nome do arquivo a ser aberto é o único parâmetro obrigatório Dependendo da configuração do PHP pode ser informada uma URL para abrir arquivos remotos diretamente useincludepath por padrão o arquivo é buscado na mesma pasta do PHP mas podemos especificar para que ele também seja buscado no local do arquivo incluído context usado para informar parâmetros http quando abrir arquivos remotos via URL offset posição inicial do texto a ser lida no arquivo Por padrão iniciase no começo do arquivo maxlen quantidade de caracteres a serem lidos do arquivo Por padrão todos são lidos A função retorna uma string contendo o texto no arquivo Observe o exemplo abaixo Isto é um texto qualquer colocado dentro do arquivo exemplotxt Esta é a segunda linha do texto O código usado para carregar o texto acima foi o seguinte php texto filegetcontentsexemplotxt echo texto explode Mas na maioria das vezes não vamos querer usar o texto inteiro de uma só vez Podemos quebrálo por linhas usando a função explode array explode string delimiter string string int limit delimiter caractere delimitador do texto Ele será quebrado em todos os pontos onde este caractere for encontrado string o texto a ser quebrado limit parâmetro opcional que define o máximo de pedaços para quebrar o texto No exemplo abaixo o texto foi quebrado com explode usando o delimitador as aspas duplas são necessárias para que o PHP interprete o código como quebra de linha Portanto cada pedaço corresponde a uma linha O resultado é um array contendo todos os pedaços no caso linhas Logo após foi usado um foreach para percorrer este array e gerar uma lista HTML onde cada item é uma linha do texto Isto é um texto qualquer colocado dentro do arquivo exemplotxt 081123 1025 Aula 10 Arquivos webacademicocanoasifrsedubrrcpintoIFRSphpaula10aula10arquivosphp 23 Esta é a segunda linha do texto Veja o códigofonte a seguir php texto filegetcontentsexemplotxt linhas explode texto foreach linhas as linha if linha echo lilinhali file De forma similar a função file também carrega um arquivo texto com uma diferença o resultado é um array com o texto já dividido em linhas array file string filename int flags 0 resource context Abaixo vemos o mesmo examplo anterior porém usando file Isto é um texto qualquer colocado dentro do arquivo exemplotxt Esta é a segunda linha do texto E o códigofonte php linhas fileexemplotxt foreach linhas as linha if linha Pula linhas vazias echo lilinhali Escrita fileputcontents Modificar arquivos em PHP também é bastante simples através da função fileputcontents int fileputcontents string filename mixed data int flags 0 resource context A função recebe como parâmetros o nome do arquivo de destino e o conteúdo a ser gravado além de outros parâmetros opcionais Como resultado ela retorna o número de bytes gravados ou false em caso de falha Lembrando que 0 também vale como false para o PHP Para testarmos se algo é realmente false e não algo equivalente devemos usar o operador em vez de e em vez de Falha na escrita do arquivo Link para o arquivo gravado escrita1672499375txt E o códigofonte correspondente php filename escritaSERVERREMOTEADDRtxt O nome do arquivo é o IP do usuário total fileputcontentsfilenamedatedmY His Escreve a data e hora atuais no arquivo if total false echo Escreveu total bytes no arquivo filename else echo Falha na escrita do arquivo implode Agora imagine que temos um array onde cada elemento é uma linha de texto Podemos informar um array para a função fileputcontents diretamente mas todos os elementos serão concatenados em uma única linha conforme o exemplo abaixo Falha na escrita do arquivo Link para o arquivo gravado escrita1672499375arraytxt E o códigofonte php filename escritaSERVERREMOTEADDRarraytxt arr arrayabacaxibananacerejadamasco total fileputcontentsfilenamearr if total false echo Escreveu total bytes no arquivo filename else echo Falha na escrita do arquivo O que precisamos então é transformar o array em uma única string onde cada elemento é separado por uma quebra de linha usando a função implode string implode string glue array pieces Onde glue é o caractere que será usado para colar os elementos do array em uma única string e pieces é o array com os elementos a serem colados Observe o exemplo abaixo Falha na escrita do arquivo Link para o arquivo gravado escrita1672499375arraylinhastxt Nesse caso note que os elementos ficaram separados por linhas pois informamos o caractere quebra de linha como cola para a função implode Portanto cada elemento foi colado por uma quebra de linha resultando em uma única string E o códigofonte 081123 1025 Aula 10 Arquivos webacademicocanoasifrsedubrrcpintoIFRSphpaula10aula10arquivosphp 33 php filename escritaSERVERREMOTEADDRarraylinhastxt arr arrayabacaxibananacerejadamasco texto implode arr total fileputcontentsfilenametexto if total false echo Escreveu total bytes no arquivo filename else echo Falha na escrita do arquivo unlink Por fim podemos excluir um arquivo usando a função unlink Clique aqui para eliminar um dos arquivos usados nos exemplos anteriores E o códigofonte php if REQUESTexcluir if unlinkfilename filename foi definido no bloco php anterior echo Arquivo filename excluído com sucesso else echo Falha ao tentar excluir filename Exercícios no Moodle