www.visualdicas.com.br
Open in
urlscan Pro
192.185.211.53
Public Scan
URL:
https://www.visualdicas.com.br/programacao/php/94-como-ler-e-escrever-em-arquivos-txt-usando-php
Submission: On March 01 via api from US — Scanned from DE
Submission: On March 01 via api from US — Scanned from DE
Form analysis
3 forms found in the DOMGET /component/finder/search
<form id="mod-finder-searchform95" action="/component/finder/search" method="get" class="form-search form-inline">
<div class="finder">
<label for="mod-finder-searchword95" class="element-invisible finder">Pesquisa</label><input type="text" name="q" id="mod-finder-searchword95" class="search-query input-medium form-control" size="60" value="" placeholder="Pesquisar..."
autocomplete="off"><button class="btn btn-primary hasTooltip finder" type="submit" title="" data-original-title="OK"><span class="icon-search icon-white"></span>Pesquisa</button>
<input type="hidden" name="Itemid" value="134">
</div>
</form>
POST https://www.visualdicas.com.br/cb-login
<form action="https://www.visualdicas.com.br/cb-login" method="post" id="login-form" class="cbLoginForm">
<input type="hidden" name="option" value="com_comprofiler">
<input type="hidden" name="view" value="login">
<input type="hidden" name="op2" value="login">
<input type="hidden" name="return" value="B:aHR0cHM6Ly93d3cudmlzdWFsZGljYXMuY29tLmJyL3Byb2dyYW1hY2FvL3BocC85NC1jb21vLWxlci1lLWVzY3JldmVyLWVtLWFycXVpdm9zLXR4dC11c2FuZG8tcGhw">
<input type="hidden" name="message" value="0">
<input type="hidden" name="loginfrom" value="loginmodule">
<input type="hidden" name="cbsecuritym3" value="cbm_33500619_3e502357_06c6c232ce5133317c8ac89a1c4037b2">
<fieldset class="userdata">
<p id="form-login-username">
<span class="cb_template cb_template_default">
<span class="cbModuleUsernameIcon fa fa-user" title="Nome de usuário ou e-mail"></span>
</span>
<input id="modlgn-username" type="text" name="username" class="inputbox" size="20">
</p>
<p id="form-login-password">
<span class="cb_template cb_template_default">
<span class="cbModulePasswordIcon fa fa-lock" title="Senha"></span>
</span>
<input id="modlgn-passwd" type="password" name="passwd" class="inputbox" size="20">
</p>
<button type="submit" name="Submit" class="button"> Acessar </button>
</fieldset>
<ul id="form-login-links">
<li id="form-login-forgot">
<a href="https://www.visualdicas.com.br/cb-forgot-login">
Perdeu o acesso? </a>
</li>
</ul>
</form>
POST https://www.paypal.com/cgi-bin/webscr
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
<p><input name="cmd" type="hidden" value="_s-xclick"> <input name="hosted_button_id" type="hidden" value="QQJKRB8BAALPG"> <input title="PayPal - The safer, easier way to pay online!" alt="Faça doações com o botão do PayPal" name="submit"
src="https://www.paypalobjects.com/pt_BR/BR/i/btn/btn_donateCC_LG.gif" type="image"> <img src="https://www.paypal.com/pt_BR/i/scr/pixel.gif" alt="" width="1" height="1" border="0"></p>
<pre><span style="font-size: 10pt;"> Obrigado!</span><br><span style="font-size: 10pt;">Angelo Luis Ferreira</span><br><span style="font-size: 10pt;">angelo.alf@gmail.com</span></pre>
</form>
Text Content
Our website uses cookies to ensure you get the best experience on our website. Nosso site usa cookies para garantir que você obtenha a melhor experiência na utilização e visualização de conteúdo. * More information - Informações Got It! - Concordo!! DAMOS VALOR À SUA PRIVACIDADE Nós e os nossos parceiros armazenamos e/ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para fins relacionados com anúncios e conteúdos personalizados, medição de anúncios e conteúdos e perspetivas sobre o público, assim como para desenvolver e melhorar produtos. Com a sua permissão, nós e os nossos parceiros poderemos usar identificação e dados de geolocalização precisos através da procura de dispositivos. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos 760 parceiros, conforme descrito acima. Em alternativa, pode aceder a informações mais pormenorizadas e alterar as suas preferências antes de consentir ou recusar o consentimento. Tenha em atenção que algum processamento dos seus dados pessoais poderá não exigir o seu consentimento, mas que tem o direito de se opor a esse processamento. As suas preferências serão aplicadas apenas a este website. Poderá alterar as suas preferências em qualquer momento, regressando a este site ou acedendo à nossa política de privacidade. MAIS OPÇÕESCONCORDO Contato Registrar Login * * * PesquisaPesquisa * Home * Programação * HTML * CSS * JavaScript * PHP * React * Tools * Web Servers * Databases * Instaladores * Versionamento GIT * IDE's * Scripts * Botões * Menus * Text / String * Notificações * Sites úteis * Web Design * Imagens gratuitas * Gerador de botões * Biblioteca de ícones * Desenvolvimento * Editores gratuitos * IDEs gratuitos * Frameworks * Frameworks CSS * Frameworks JavaScript * Bibliotecas * Bibliotecas JavaScript * Ferramentas * Repositórios Git * Tabelas * Tabela de Cores HTML * Blog * Cursos * * Início * Programação * PHP * Como ler ou escrever em arquivos TXT - PHP COMO LER OU ESCREVER EM ARQUIVOS TXT - PHP * Imprimir * Email Detalhes Angelo Luis Ferreira PHP 05 Abril 2021 Acessos: 24365 * PHP Neste tutorial mostraremos como ler ou escrever conteúdo em um arquivo de texto TXT. Para isto, vamos utilizar duas funções nativas do PHP: file_get_contents() para ler todo o conteúdo de um arquivo em uma string e file_put_contents() para escrever uma string em um arquivo. Essas funções podem ser utilizadas para gravar, consultar e manipular informações sem precisar de um banco de dados. São muito utilizadas em sistemas de logs para gravar erros de aplicação, sistemas com dados estruturados Json e sistemas de dados simples como contadores, por exemplo. Como exemplo, vamos construir uma lista de tarefas onde os dados ficarão gravados em um arquivo txt, dispensando a utilização de um banco de dados. 1. LENDO UM ARQUIVO TXT 1.1. Podemos ler todo o conteúdo de um arquivo em uma string, usando a função file_get_contents(). 1.1.1. A função file_get_contents() é o método preferível para ler o conteúdo de um arquivo em uma string, pois utiliza técnicas de mapeamento de memória, que quando suportadas pelo servidor, melhoram a performance da leitura. 1.1.2. O arquivo de texto criado poderá ter qualquer tipo de extensão (.txt, .php, .doc, .xls, json, etc). Entretanto, vamos adotar a extensão .txt como padrão para o nosso tutorial. Sintaxe: file_get_contents(path, include_path, context, offset, max_length) Parâmetros: Parâmetro Descrição path Obrigatório. Especifica o caminho do arquivo que será lido. include_path Opcional. Defina este parâmetro como '1' se você deseja pesquisar o arquivo no "include" (em php.ini) context Opcional. Especifica o contexto do identificador de arquivo. Contexto é um conjunto de opções que podem modificar o comportamento de um fluxo (streams). Pode ser ignorado usando NULL. offset Opcional. Especifica o ponto no arquivo onde a leitura deve começar. Os valores negativos contam a partir do final do arquivo. max_length Opcional. Especifica o comprimento máximo dos dados lidos. 1.2. Portanto, a função file_get_contents() lê e retorna o conteúdo do arquivo em uma string, começando a partir de offset até max_length. Caso esses parâmetros não estejam especificados, a função file_get_contents() irá ler e retornar todo o conteúdo do arquivo. 1.3. Em caso de falha, a função file_get_contents() retornará false. 1.4. Para utilizar os parâmetros avançados include_path e context, leia: include_path e streams no PHP. Neste tutorial não usaremos estes parâmetros. 2. ESCREVENDO EM UM ARQUIVO TXT 2.1. Podemos gravar dados em um arquivo TXT por meio da função file_put_contents(). Sintaxe: file_put_contents(path, data, mode, context) Parâmetros: Parâmetro Descrição path Obrigatório. Especifica o caminho do arquivo no qual se deseja gravar. Se o arquivo não existir, esta função irá criar um. data Obrigatório. Os dados a serem gravados no arquivo. Pode ser uma string, um array ou um fluxo de dados (data stream) mode Opcional. Especifica como abrir / escrever no arquivo. Valores: * FILE_USE_INCLUDE_PATH - procura pelo nome do arquivo nos diretórios de "include". Veja include_path para mais informações. * FILE_APPEND - Se o arquivo já existir, acrescenta os dados ao arquivo ao invés de sobrescrevê-lo. * LOCK_EX - Coloca um bloqueio exclusivo no arquivo enquanto grava nele. context Opcional. Especifica o contexto do identificador de arquivo. Contexto é um conjunto de opções que podem modificar o comportamento de um fluxo (streams). 2.2. Portanto, a função file_put_contents() grava o conteúdo de uma string em um arquivo, respeitando os parâmetros acima. 2.3. Se o nome do arquivo especificado no parâmetro path não existir, este arquivo será criado automaticamente. Caso contrário, o arquivo existente será sobrescrito, a não ser que a flag FILE_APPEND esteja definida. 2.2.1. Caso o mode FILE APPEND estiver definido, a string será incluída no final do arquivo. 2.2.2. Caso o mode LOCK_EX estiver definido, o arquivo será bloqueado. 2.2.2. Para utilizar os parâmetros avançados include_path e context, leia: include_path e streams no PHP. Neste tutorial não usaremos estes parâmetros. 2.3. Procure sempre utilizar o mode FILE APPEND para evitar a exclusão do conteúdo já existente no arquivo. 3. EXEMPLO PRÁTICO 3.1. Para exemplificarmos o uso das funções de leitura e gravação de dados em arquivos, vamos criar uma lista de tarefas onde o usuário adiciona as tarefas que deverão ficar gravadas em um arquivo txt, dispensando o uso de um banco de dados. 3.2. Para montarmos o nosso sistema vamos criar três arquivos: index.php, receive.php e delete.php. 3.2.1. O arquivo index.php é responsável pelo formulário de adição de novas tarefas, fazer a leitura do arquivo tarefas.txt (se ele existir), exibir a lista de tarefas e mostrar o botão para excluir a lista na tela. 3.2.2. O arquivo receive.php é responsável por obter a tarefa enviada pelo formulário através da requisição HTTP (via POST) e escrever essa tarefa no final do arquivo tarefas.txt, pois utilizamos o parâmetro FILE APPEND na função file_put_contents(). 3.2.3. O arquivo delete.php é responsável por excluir o arquivo tarefas.txt através da função unlink(). 3.2.4. Atenção: Os arquivos citados acima deverão estar contidos na mesma pasta. 3.3. Seguem abaixo os arquivos com os seus respectivos códigos. index.php <h1>Formulário - Listas de Tarefas</h1> <form method="POST" action="receive.php"> <input type="text" name="tarefa" placeholder="Digite uma atividade" /> <input type="submit" value="Enviar"> </form> <?php // pega dados do arquivo tarefas.txt e coloca na tela if (file_exists("tarefas.txt")) { $lista = file_get_contents("tarefas.txt"); $lista_array = explode("\n", $lista); foreach($lista_array as $lista_item) { echo $lista_item.'<br/>'; } } else { $lista = null; } ?> <br/> <!--deleta o arquivo tarefas.txt --> <button onclick="window.location.href = 'delete.php'">Excluir Lista</button> receive.php <?php // pega dados do formulário ($tarefa) $tarefa = filter_input(INPUT_POST, 'tarefa', FILTER_SANITIZE_SPECIAL_CHARS); // escreve dados $tarefa no final do arquivo tarefas.txt (FILE_APPEND) if ($tarefa) { file_exists("tarefas.txt") ? $text = "\n".$tarefa : $text = $tarefa; file_put_contents('tarefas.txt', $text, FILE_APPEND); } header('Location: index.php'); delete.php <?php // exclui arquivo tarefas.txt if (file_exists("tarefas.txt")) { unlink('tarefas.txt'); } header('Location: index.php'); Para testar os códigos acima, acesse: https://www.visualdicas.com.br/exemplos/php/exemplo01/index.php. Observações 3.4. No arquivo index.php fizemos a leitura do arquivo tarefas.txt, da seguinte forma: 3.4.1. Primeiro, por intermédio da função file_exists("tarefa.txt") verificamos se o arquivo tarefas.txt existe ou não. Leia Verificar se um arquivo ou um diretório existe com PHP. 3.4.2. Depois, se o arquivo tarefas.txt existir, fazemos a leitura dele usando a função file_get_contents("tarefas.txt"). Observe que utilizamos apenas o parâmetro obrigatório path para ler em string todo o conteúdo do arquivo. Esse conteúdo ficará então armazenado na variável $lista. 3.4.3. Para exibirmos a lista de tarefas na tela, vamos primeiro criar um array para armazenar partes da string (tarefas) que foram separadas pela função explode(). Para isto, usamos como delimitador o comando "\n" que indica quebra de linha. Depois do conteúdo estar separado em elementos do array, podemos exibir cada elemento (tarefa) por meio do construtor foreach(). Leia Como dividir strings em PHP (separe e-mails, urls, textos, tags...). 3.4.4. Veja abaixo como deve ficar o nosso exemplo após a inclusão de algumas tarefas. 3.5. No arquivo receive.php gravamos o conteúdo da seguinte forma: 3.5.1. Primeiro obtemos o valor enviado pelo formulário através do método POST (requisição HTTP) e o atribuímos à variável $tarefa. 3.5.2. Usando o operador ternário podemos atribuir à variável $text os valores (leia Como realizar atribuição condicional a uma variável PHP (Operador Ternário): 3.5.2.1. Se o arquivo tarefas.txt existir, a variável $text = "\n".$tarefa, ou seja, o valor da variável $text será a concatenação do comando "\n" para quebrar a linha com a variável $tarefa. Isto promoverá a quebra de linha antes de inserir o valor da variável no arquivo txt, criando uma lista vertical de tarefas. 3.5.2.2. Se o arquivo txt não existir ainda, a variável $text será igual a $tarefa. Como é a primeira tarefa adicionada, não há a necessidade da quebra de linha. 3.5.3. Finalmente usamos a função file_put_contents('tarefas.txt', $text, FILE_APPEND) para escrever o valor de $text no final do arquivo txt, pois ativamos o parâmetro FILE_APPEND. 3.5.3.1. Observe que utilizamos apenas os parâmetros obrigatórios path e data, e o parâmetro FILE_APPEND para gravar o valor recebido pelo formulário no final do arquivo tarefas.txt, evitando-se portanto a sobreposição do conteúdo. 3.5.3.2. É importante frisarmos que se não existir o arquivo txt, a função irá criar um conforme definido pelo parâmetro path. 3.6. No arquivo delete.php excluímos o arquivo tarefas.txt ao clicar no botão "Excluir Lista". Para isto utilizamos a função unlink('tarefas.txt') que exclui o arquivo e limpa o cache também. Leia https://www.php.net/manual/pt_BR/function.unlink.php 3.7. Exemplo do resultado da nossa lista de tarefas: Para testar, acesse: https://www.visualdicas.com.br/exemplos/php/exemplo01/index.php DOCUMENTAÇÃO OFICIAL 1. [Documentação PHP - Função file_get_contents()] » Sobre a função file_get_contents(). 2. [Documentação PHP - Função file_put_contents()] » Sobre a função file_put_contents(). Facebook Social Comments Compartilhe: * Anterior * Próximo MAIS ARTIGOS... * Como alterar nome de um banco de dados MySQL usando o phpMyAdmin * Como criar funções em PHP * Diferença entre aspas simples (') e aspas duplas (") em PHP * Como identificar IP do usuário com PHP * Identificar se o dispositivo é móvel - PHP * Como limitar textos com número de caracteres usando PHP * Como subtrair ou somar dias de uma data qualquer - PHP * Como pegar número de Likes do Facebook com PHP * Passar variável JavaScript para PHP * Passar variável PHP para JavaScript MENU * Home * Programação * HTML * CSS * JavaScript * PHP * React * Tools * Web Servers * Databases * Instaladores * Versionamento GIT * IDE's * Scripts * Botões * Menus * Text / String * Notificações * Sites úteis * Web Design * Imagens gratuitas * Gerador de botões * Biblioteca de ícones * Desenvolvimento * Editores gratuitos * IDEs gratuitos * Frameworks * Frameworks CSS * Frameworks JavaScript * Bibliotecas * Bibliotecas JavaScript * Ferramentas * Repositórios Git * Tabelas * Tabela de Cores HTML * Blog * Cursos PUBLICIDADE MARCADORES * JavaScript 22 * React + TypeScript 1 * CSS + HTML 8 * PHP+MySQL 4 * React 7 * HTML 9 * Netbeans + Bitbucket 1 * Python 1 * JSON 1 * PHP+JSON 1 * HeidiSQL 1 * CSS 14 * JavaScript + CSS 5 * phpMyAdmin 1 * JavaScript + HTML 7 * Requisição AJAX 1 * Wamp Server 1 * C++ 1 * Netbeans 3 * PHP + JavaScript 5 ÁREA DO USUÁRIO Acessar * Perdeu o acesso? Esse treinamento eu recomendo Aprenda a ser um programador mais do que completo DOAÇÕES Por favor, ajude o nosso site a se manter online :) Obrigado! Angelo Luis Ferreira angelo.alf@gmail.com ARTIGOS RELACIONADOS * Como limitar textos com número de caracteres usando PHP * Como subtrair ou somar dias de uma data qualquer - PHP * Como pegar número de Likes do Facebook com PHP * Passar variável JavaScript para PHP * Passar variável PHP para JavaScript PRODUZIDO POR: SITE DO GRUPO VISITAS Hoje237 Ontem603 Semana2310 Mês237 Total1144182 -------------------------------------------------------------------------------- INFORMAÇÕES * IP: 80.255.7.101 * Browser: Chrome * Browser Version: 122.0.6261.94 * Operating System: Windows -------------------------------------------------------------------------------- QUEM ESTÁ ONLINE? 14 Online -------------------------------------------------------------------------------- 01-03-24 Copyright © 2016 - 2021 Squids.com.br All rights reserved. Produzido por Visual Dicas Topo JavaScript is currently disabled.Please enable it for a better experience of Jumi.