When i try to put the content below, I get this error message:
"Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later."
My server is the Dreamhost. The PHP is 5.0, MySQL and Apache
PS: Whe i try to work with other text with the same same size, it's work! So stranger...
Tnks for help!!!
The content is.:
"<p>Na medida do possível (o tempo está curto) pretendo disponibilizar algumas dicas de PHP. Para começar, vamos falar sobre a manipulação de arquivos usando as funções nativas do PHP.</p>
<p>"Mas para quê eu iria querer manipular os arquivos via PHP?" Bom, nós podemos usar a mipulação de arquivos para vários coisas como: Editar um arquivo .css remotamente em um sistema gerenciador de conteúdo qualquer, salvar informações de acesso em um arquivo de log, criar um contador para seu site e até mesmo substituir um programa SGBD em tarefas corriqueiras em que sejam manipulado dados simples, e que não tenham a segurança como fator crítico. Então vamos lá:</p>
<strong>1 - Criando os arquivos</strong>
<p>Para começar, vamos primeiro criar o nosso arquivo. Para isso existe a função fopen().<br />
Com esta função podemos criar qualquer arquivo novo. Sua sintaxe é a seguinte:</p>
<p>fopen ($nomedoarquivo, $modo);</p>
<p> Como podemos ver, a função fopen possui dois argumentos: O nome do arquivo e o modo que esse arquivo será criado.</p>
<ul>
<li> <strong>$nomedoarquivo</strong> - O nome do arquivo pode conter o caminho absoluto onde você deseja criar o seu arquivo. Exemplo, "www/programa/arquivo.txt".</li>
<li> <strong>$modo</strong> - O modo indica as permissões de acesso para o arquivo que foi criado. Por exemplo, ele pode ser criado apenas para leitura (consulta de dados) ou para escritar e leitura.</li>
</ul>
<p> Segue abaixo a tabela com os modos de arquivos retirados da documentação oficial do PHP.</p>
<table>
<thead>
<tr><td>Modo</td><td>Descrição</td></tr>
</thead>
<tbody>
<tr><td>'w'</td><td>Abre o arquivo para apenas escrita; coloca o ponteiro do arquivo no começo do arquivo e diminui (trunca) o tamanho do arquivo para zero. Se o arquivo não existe, tenta criá-lo.</td></tr>
<tr><td>'w+'</td><td>Abre o arquivo para leitura e escrita; coloca o ponteiro do arquivo no começo e diminui (trunca) o tamanho do arquivo para zero. Se o arquivo não existe, tenta criá-lo.</tr>
<tr><td>'r'</td><td>Abre o arquivo somente para leitura; coloca o ponteiro de escrita no começo do arquivo.</td></tr>
<tr><td>'r+'</td><td>Abre para leitura e escrita; coloca o ponteiro de escrita no começo do arquivo.</td></tr>
<tr><td>'a'</td><td>Abre para somente para escrita somente; coloca o ponteiro do arquivo no final. Se o arquivo não existir, tenta criá-lo.</td></tr>
<tr><td>'a+'</td><td>Abre o arquivo para leitura e escrita; coloca o ponteiro do arquivo no final. Se o arquivo não existir, tenta criá-lo.</td></tr>
<tr><td>'x'</td><td>Cria e abre o arquivo para escrita somente; coloca o ponteiro no início do arquivo. Se o arquivo já existe, a chamada a fopen() irá falhar, retornando FALSE, gerando um erro nível E_WARNING. Se o arquivo não existe, tenta criá-lo. Esta opção é suportada no PHP 4.3.2 e posteriores, e somente funciona em arquivos locais. </td></tr>
<tr><td>'x+'</td><td>Cria e abre um arquivo para escrita e leitura; coloca o ponteiro do arquivo no início. Se o arquivo já existe, a chamada a fopen() irá falhar, retornando FALSE, gerando um erro nível E_WARNING. Se o arquivo não existe, tenta criá-lo. Esta opção é suportada no PHP 4.3.2 e posteriores, e somente funciona em arquivos locais.</td></tr>
</tbody>
</table>
<p>Vamos a alguns exemplos práticos:</p>
<p><strong>Exemplo 1 - criar um novo arquivo para escrita</strong></p>
<div class="programacao">
<?php
$arquivo = fopen("meuarquivo.txt","w");
if ($arquivo == false) die("Não foi possível criar o arquivo.");
?></div>
<p>O código acima cria um novo arquivo (para escrita somente) no diretório corrente do arquivo PHP executado.<br />
Tenha cuidado pois o modo "w" coloca o ponteiro de escrita no início do arquivo. Se o arquivo já existir, ele deleterá todo o conteúdo.<br />
Se a função funcionar ele retorna o ponteiro do arquivo. Mas se a função falhar por qualquer motivo, a função retorna false.</p>
<p><strong>Exemplo 2 - criar um novo arquivo para leitura e escrita</strong></p>
<div class="programacao">
<?php
$arquivo = fopen("meuarquivo.txt","w+");
if ($arquivo == false) die("Não foi possível criar o arquivo.");
?></div>
<p>Como no exemplo 1, o código acima cria um novo tanto para leitura como para escrita no diretório corrente do arquivo PHP executado.<br />
O modo "w+" coloca o ponteiro no início do arquivo. Se o arquivo já existir, ele deleterá todo o conteúdo.</p>
<p><strong>Exemplo 3 - abrir um arquivo para leitura com o modo 'r'</strong></p>
<p><strong>"E se eu não quiser deletar o conteúdo e só acrescetar mais informações quando o arquivo já existir???"</strong></p>
<div class="programacao"> <?php
$arquivo = fopen("meuarquivo.txt","r");
if ($arquivo == false) die("O arquivo não existe.");
?></div>
<p>O modo 'r' abre o arquivo. Ele coloca o ponteiro no início do arquivo e lê todo seu conteúdo até o final. Use o modo 'r+' para ativar também a escrita junto com a leitura. Como o ponteiro é posicionado no início do arquivo, o novo conteúdo ficará no início e não no final. Caso o arquivo não exista, ele retorna um erro e não tenta cria o arquivo. Caso você queira criar o arquivo caso ele não exista, você pode usar o modo 'a'.</p>
<p><strong>Exemplo 4 - O modo 'a'</strong></p>
<p><strong>"E se eu quiser posicionar o ponteiro no final do arquivo???"</strong><strong></strong><strong></strong></p>
<div class="programacao"> <?php
$arquivo = fopen("meuarquivo.txt","a");
if ($arquivo == false) die("Não foi possível criar o arquivo.");
?></div>
<p>Da mesma forma que o modo 'w', você pode usar o modo "a" ou "a+" para criar o seu novo arquivo com as permissões de leitura/escrita respectivamente. Se o arquivo já existir, ele não irá truncar o arquivo (não deleta nenhum conteúdo) e irá colocar o ponteiro no final para que a leitura/escrita continue a partir daí.</p>
<p><strong>2 - Lendo arquivos</strong></p>
<p>Agora que já aprendemos a criar e abrir nossos arquivos, vamos ver como se faz para lê-los. Para isso temos a função fgets(). A função fgets() é usada para ler um arquivo lenha por linha. Ela aceita dois tipos de parâmetros, veja:</p>
<p>fgets($ponteiro, $tamanho);</p>
<p>Os argumentos são o ponteiro e o tamanho em bytes.</p>
<ul>
<li><strong>$ponteiro</strong> - O ponteiro aqui utilizado, está armazenado na variável que você usou para abrir ou criar o arquivo.</li>
<li><strong>$tamanho</strong> - Como já foi dito, é o tamanho em número de bytes que deve ser lida a linha do arquivo. Se não for especificado, o programa irá ler até o final da linha (até um número máximo de 1024 caracteres).</li>
</ul>
<p>Exemplos:</p>
<p><strong>Exemplo 1 - lendo a primeira linha</strong></p>
<div class="programacao">
<p><?php<br />
$arquivo = fopen("meuarquivo.txt","r");
<br />
if ($arquivo == false) die("Não foi possível abrir o arquivo.");<br />
$linha = fgets($arquivo);<br />
echo $linha;<br />
fclose($arquivo);<br />
?></p>
</div>
<p>No código acima abrimos um arquivo com o modo 'r' que posiciona o ponteiro no início do arquivo. Depois efetuamos o comando fgets() sem o parâmetro de tamanho. Isso quer dizer que toda primeira linha do arquivo está sendo lida.</p>
<p><strong>Exemplo 2 - lendo um determinado número de bytes</strong></p>
<div class="programacao">
<p><?php<br />
$arquivo = fopen("meuarquivo.txt","r"); <br />
if ($arquivo == false) die("Não foi possível abrir o arquivo.");<br />
$linha = fgets($arquivo, 64);<br />
echo $linha;<br />
fclose($arquivo);<br />
?></p>
</div>
<p>Agora nosso programa irá imprimir os primeiro 64 palavras da primeira linha do 'meuarquivo.txt'.</p>
<p><strong>Exemplo 3 - retornando o arquivo inteiro linha por linha</strong></p>
<div class="programacao">
<p><?php<br />
$arquivo = fopen("meuarquivo.txt","r"); <br />
if ($arquivo == false) die("Não foi possível abrir o arquivo.");<br />
while(true) {<br />
$linha = fgets($arquivo);<br />
if ($linha==null) break;<br />
echo $linha;<br />
}<br />
fclose($arquivo);<br />
?></p>
</div>
<p>No código acima foi usando um loop continuo (eterno) pegando linha por linha do arquivo. Quando é verificado que a variável linha retornou vazia, ele da um break que para a repetição e fecha o arquivo. Fica a pergunta: "E se meu arquivo tiver uma linha vazia?". Não existe linha vazia entre o início e o final de um documento. Mesmo que determinada linha não tenha nada escrito, ela contém um marcador que indica a quebra de linha.</p>
<p><strong>Nota: </strong>Sistemas operacionais diferentes tem convenções de delimitação de linhas diferentes. Quando você escreve num arquivo e deseja inserir uma quebra de linha, você precisa utilizar o(s) caractere(s) de fim de linha adequado(s) em seu sistema operacional. Sistemas baseados no Unix utilizam \n como final de linha, sistemas baseados no Windows usam \r\n e sistemas baseados no Macintosh usam \r.</p>
<p><strong>Exemplo 4 - lendo todo arquivo em um único passo</strong></p>
<p>Em muitos casos temos que ler o arquivo todo. E ler linha por linha nesses casos dá mais trabalho. Nesses casos utilizamos a funcao file_get_contents() que retorna todo o conteúdo de determinado arquivo. Veja como ela funciona:</p>
<div class="programacao">
<p><?php<br />
$arquivo = fopen("meuarquivo.txt","r"); <br />
$string = file_get_contents("meuarquivo.txt");<br />
echo $string;<br />
fclose($arquivo);<br />
?></p>
</div>
<p>O código acima lê todas informações contidas no arquivo 'meuarquivo.txt'. Ressaltando que não é recomendado ler arquivos muitos grandes de uma só vez. Nesse caso é recomendado ler o arquivo em partes.</p>
<p><strong>3 - Escrevendo nos arquivos</strong></p>
<p>Escrever nos arquivos usando PHP é também muito fácil. Primeiro você deve ter certeza que seu arquivo aberto tenha permissão para escrita. Depois basta utilizar a função fwrite e seus parâmetros. Segue a estrutura da função:</p>
<p>fwrite($ponteiro, $string, $tamanho);</p>
<p>Os argumentos são o ponteiro, a string e o tamanho em bytes.</p>
<ul>
<li><strong>$ponteiro</strong> - O ponteiro aqui utilizado, está armazenado na variável que você usou para abrir ou criar o arquivo.</li>
<li><strong>$string</strong> - O conteúdo textual que você deseja escrever em seu arquivo.</li>
<li><strong>$tamanho</strong> - É o tamanho em número de bytes que deve ser gravado no arquivo. Opcional.</li>
</ul>
<p>Exemplos:</p>
<p><strong>Exemplo 1 - escrevendo uma simples linha em um arquivo</strong></p>
<div class="programacao">
<p><?php<br />
$arquivo = fopen("meuarquivo.txt","w+"); <br />
if ($arquivo) {<br />
if (!fwrite($arquivo, "Novo conteúdo")) die("Não foi possível atualizar o arquivo.");<br />
echo "Arquivo atualizado com sucesso";<br />
fclose($arquivo);<br />
?></p>
</div>
<p>O código acima abre o arquivo indicado no modo 'w+' o que permite sua escrita. Caso o arquivo não exista, ele será criado. E depois é gravado um pequeno texto em sua linha. É importante observar que o modo 'w' cria arquivos mas também trunca o arquivo caso ele exista, ou seja, deleta todo seu conteúdo assim que ele é aberto.</p>
"
Edited by samucamg, 29 April 2008 - 03:48 PM.











