Jump to content


Service Temporarily Unavailable


  • You cannot reply to this topic
9 replies to this topic

#1 samucamg

    Etomite Forum Newbie

  • Member
  • 14 posts

Posted 29 April 2008 - 03:48 PM

Hi guys! My problem is:

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&aacute; curto) pretendo disponibilizar algumas dicas de PHP. Para come&ccedil;ar, vamos falar sobre a manipula&ccedil;&atilde;o de arquivos usando as fun&ccedil;&otilde;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">
&lt;?php
$arquivo = fopen("meuarquivo.txt","w");
if ($arquivo == false) die("Não foi possível criar o arquivo.");
?&gt;</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">
&lt;?php
$arquivo = fopen("meuarquivo.txt","w+");
if ($arquivo == false) die("Não foi possível criar o arquivo.");
?&gt;</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>&quot;E se eu n&atilde;o quiser deletar o conte&uacute;do e s&oacute; acrescetar mais informa&ccedil;&otilde;es quando o arquivo j&aacute; existir???&quot;</strong></p>
<div class="programacao"> &lt;?php
$arquivo = fopen(&quot;meuarquivo.txt&quot;,&quot;r&quot;);
if ($arquivo == false) die(&quot;O arquivo n&atilde;o existe.&quot;);
?&gt;</div>
<p>O modo 'r' abre o arquivo. Ele coloca o ponteiro no in&iacute;cio do arquivo e l&ecirc; todo seu conte&uacute;do at&eacute; o final. Use o modo 'r+' para ativar tamb&eacute;m a escrita junto com a leitura. Como o ponteiro &eacute; posicionado no in&iacute;cio do arquivo, o novo conte&uacute;do ficar&aacute; no in&iacute;cio e n&atilde;o no final. Caso o arquivo n&atilde;o exista, ele retorna um erro e n&atilde;o tenta cria o arquivo. Caso voc&ecirc; queira criar o arquivo caso ele n&atilde;o exista, voc&ecirc; pode usar o modo 'a'.</p>
<p><strong>Exemplo 4 - O modo 'a'</strong></p>
<p><strong>&quot;E se eu quiser posicionar o ponteiro no final do arquivo???&quot;</strong><strong></strong><strong></strong></p>
<div class="programacao"> &lt;?php
$arquivo = fopen(&quot;meuarquivo.txt&quot;,&quot;a&quot;);
if ($arquivo == false) die(&quot;N&atilde;o foi poss&iacute;vel criar o arquivo.&quot;);
?&gt;</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&otilde;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&iacute;.</p>
<p><strong>2 - Lendo arquivos</strong></p>
<p>Agora que j&aacute; aprendemos a criar e abrir nossos arquivos, vamos ver como se faz para l&ecirc;-los. Para isso temos a fun&ccedil;&atilde;o fgets(). A fun&ccedil;&atilde;o fgets() &eacute; usada para ler um arquivo lenha por linha. Ela aceita dois tipos de par&acirc;metros, veja:</p>
<p>fgets($ponteiro, $tamanho);</p>
<p>Os argumentos s&atilde;o o ponteiro e o tamanho em bytes.</p>
<ul>
<li><strong>$ponteiro</strong> - O ponteiro aqui utilizado, est&aacute; armazenado na vari&aacute;vel que voc&ecirc; usou para abrir ou criar o arquivo.</li>
<li><strong>$tamanho</strong> - Como j&aacute; foi dito, &eacute; o tamanho em n&uacute;mero de bytes que deve ser lida a linha do arquivo. Se n&atilde;o for especificado, o programa ir&aacute; ler at&eacute; o final da linha (at&eacute; um n&uacute;mero m&aacute;ximo de 1024 caracteres).</li>
</ul>
<p>Exemplos:</p>
<p><strong>Exemplo 1 - lendo a primeira linha</strong></p>
<div class="programacao">
<p>&lt;?php<br />
$arquivo = fopen(&quot;meuarquivo.txt&quot;,&quot;r&quot;);
<br />
if ($arquivo == false) die(&quot;N&atilde;o foi poss&iacute;vel abrir o arquivo.&quot;);<br />
$linha = fgets($arquivo);<br />
echo $linha;<br />
fclose($arquivo);<br />
?&gt;</p>
</div>
<p>No c&oacute;digo acima abrimos um arquivo com o modo 'r' que posiciona o ponteiro no in&iacute;cio do arquivo. Depois efetuamos o comando fgets() sem o par&acirc;metro de tamanho. Isso quer dizer que toda primeira linha do arquivo est&aacute; sendo lida.</p>
<p><strong>Exemplo 2 - lendo um determinado n&uacute;mero de bytes</strong></p>
<div class="programacao">
<p>&lt;?php<br />
$arquivo = fopen(&quot;meuarquivo.txt&quot;,&quot;r&quot;); <br />
if ($arquivo == false) die(&quot;N&atilde;o foi poss&iacute;vel abrir o arquivo.&quot;);<br />
$linha = fgets($arquivo, 64);<br />
echo $linha;<br />
fclose($arquivo);<br />
?&gt;</p>
</div>
<p>Agora nosso programa ir&aacute; 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>&lt;?php<br />
$arquivo = fopen(&quot;meuarquivo.txt&quot;,&quot;r&quot;); <br />
if ($arquivo == false) die(&quot;N&atilde;o foi poss&iacute;vel abrir o arquivo.&quot;);<br />
while(true) {<br />
$linha = fgets($arquivo);<br />
if ($linha==null) break;<br />
echo $linha;<br />
}<br />
fclose($arquivo);<br />
?&gt;</p>
</div>
<p>No c&oacute;digo acima foi usando um loop continuo (eterno) pegando linha por linha do arquivo. Quando &eacute; verificado que a vari&aacute;vel linha retornou vazia, ele da um break que para a repeti&ccedil;&atilde;o e fecha o arquivo. Fica a pergunta: &quot;E se meu arquivo tiver uma linha vazia?&quot;. N&atilde;o existe linha vazia entre o in&iacute;cio e o final de um documento. Mesmo que determinada linha n&atilde;o tenha nada escrito, ela cont&eacute;m um marcador que indica a quebra de linha.</p>
<p><strong>Nota: </strong>Sistemas operacionais diferentes tem conven&ccedil;&otilde;es de delimita&ccedil;&atilde;o de linhas diferentes. Quando voc&ecirc; escreve num arquivo e deseja inserir uma quebra de linha, voc&ecirc; 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 &uacute;nico passo</strong></p>
<p>Em muitos casos temos que ler o arquivo todo. E ler linha por linha nesses casos d&aacute; mais trabalho. Nesses casos utilizamos a funcao file_get_contents() que retorna todo o conte&uacute;do de determinado arquivo. Veja como ela funciona:</p>
<div class="programacao">
<p>&lt;?php<br />
$arquivo = fopen(&quot;meuarquivo.txt&quot;,&quot;r&quot;); <br />
$string = file_get_contents(&quot;meuarquivo.txt&quot;);<br />
echo $string;<br />
fclose($arquivo);<br />
?&gt;</p>
</div>
<p>O c&oacute;digo acima l&ecirc; todas informa&ccedil;&otilde;es contidas no arquivo 'meuarquivo.txt'. Ressaltando que n&atilde;o &eacute; recomendado ler arquivos muitos grandes de uma s&oacute; vez. Nesse caso &eacute; recomendado ler o arquivo em partes.</p>
<p><strong>3 - Escrevendo nos arquivos</strong></p>
<p>Escrever nos arquivos usando PHP &eacute; tamb&eacute;m muito f&aacute;cil. Primeiro voc&ecirc; deve ter certeza que seu arquivo aberto tenha permiss&atilde;o para escrita. Depois basta utilizar a fun&ccedil;&atilde;o fwrite e seus par&acirc;metros. Segue a estrutura da fun&ccedil;&atilde;o:</p>
<p>fwrite($ponteiro, $string, $tamanho);</p>
<p>Os argumentos s&atilde;o o ponteiro, a string e o tamanho em bytes.</p>
<ul>
<li><strong>$ponteiro</strong> - O ponteiro aqui utilizado, est&aacute; armazenado na vari&aacute;vel que voc&ecirc; usou para abrir ou criar o arquivo.</li>
<li><strong>$string</strong> - O conte&uacute;do textual que voc&ecirc; deseja escrever em seu arquivo.</li>
<li><strong>$tamanho</strong> - &Eacute; o tamanho em n&uacute;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>&lt;?php<br />
$arquivo = fopen(&quot;meuarquivo.txt&quot;,&quot;w+&quot;); <br />
if ($arquivo) {<br />
if (!fwrite($arquivo, &quot;Novo conte&uacute;do&quot;)) die(&quot;N&atilde;o foi poss&iacute;vel atualizar o arquivo.&quot;);<br />
echo &quot;Arquivo atualizado com sucesso&quot;;<br />
fclose($arquivo);<br />
?&gt;</p>
</div>
<p>O c&oacute;digo acima abre o arquivo indicado no modo 'w+' o que permite sua escrita. Caso o arquivo n&atilde;o exista, ele ser&aacute; criado. E depois &eacute; gravado um pequeno texto em sua linha. &Eacute; importante observar que o modo 'w' cria arquivos mas tamb&eacute;m trunca o arquivo caso ele exista, ou seja, deleta todo seu conte&uacute;do assim que ele &eacute; aberto.</p>
"

Edited by samucamg, 29 April 2008 - 03:48 PM.


#2 Dean

    Loves Etomite Forums!

  • Admin
  • 4,758 posts
  • Gender:Male

Posted 29 April 2008 - 04:52 PM

This is a DreamHost issue - you need to open a ticket with them.

#3 samucamg

    Etomite Forum Newbie

  • Member
  • 14 posts

Posted 29 April 2008 - 07:08 PM

View PostDean, on Apr 29 2008, 01:52 PM, said:

This is a DreamHost issue - you need to open a ticket with them.

true? but by phpmyadmin works. Only within the Etomite is giving problem. As the server is not accepting the upgrade of the same content on different ways?

Edited by samucamg, 29 April 2008 - 07:15 PM.


#4 Dean

    Loves Etomite Forums!

  • Admin
  • 4,758 posts
  • Gender:Male

Posted 29 April 2008 - 07:33 PM

Yes, it's a server issue - looks like a security one (where they stop PHP putting certain things in DB)
Google is your friend, as others have the same problems with other scripts (as well as what they did to fix it - move from them)

#5 Ralph

    Loves Etomite Forums!

  • Admin
  • 6,524 posts
  • Gender:Male

Posted 30 April 2008 - 12:17 AM

What Dean said... Dreamhost = Nightmares... Let me guess, free hosting... Not to sound like an advertisement but Dean offers very reasonable hosting with guaranteed 100% Etomite compatibility...

#6 samucamg

    Etomite Forum Newbie

  • Member
  • 14 posts

Posted 30 April 2008 - 12:39 PM

View PostRalph, on Apr 29 2008, 09:17 PM, said:

What Dean said... Dreamhost = Nightmares... Let me guess, free hosting... Not to sound like an advertisement but Dean offers very reasonable hosting with guaranteed 100% Etomite compatibility...
It is true. I will talk to the guys. I created a server to test on my personal computer and gave no error.

What I do not understand is how the DB accepts enter it via Phpmyadmin and not by Etomite. :(((( You know me say what the connection of Etomite with MySQL makes different from that PHPMyAdmin? The procedures of connection are the same, and the queries too. (no?) Thnks guys!

#7 Ralph

    Loves Etomite Forums!

  • Admin
  • 6,524 posts
  • Gender:Male

Posted 30 April 2008 - 01:10 PM

View Postsamucamg, on Apr 30 2008, 08:39 AM, said:

It is true. I will talk to the guys. I created a server to test on my personal computer and gave no error.

What I do not understand is how the DB accepts enter it via Phpmyadmin and not by Etomite. :( ((( You know me say what the connection of Etomite with MySQL makes different from that PHPMyAdmin? The procedures of connection are the same, and the queries too. (no?) Thnks guys!

What you are describing is not uncommon... You haven't mentioned whether you are using a copy of phpMyAdmin that you installed or if it is integrated into your control panel... There is a difference... It also makes a difference whether phpMyAdmin is using a persistent connection or not... You would most likely encounter the same problems with other PHP/MySQL packages as you are having with Etomite... If you were to search this site, not to mention others, you would find more than a few threads related to problems with Dreamhost - as well as several other free hosting services... Some of these services give added priority to database connections for paying customers which may also be coming into play... You have to take into consideration that you're getting what you're paying for and ou may not be getting nearly as much as you're expecting for free... Food for thought...

#8 Dean

    Loves Etomite Forums!

  • Admin
  • 4,758 posts
  • Gender:Male

Posted 30 April 2008 - 01:39 PM

Pretty much what Ralph said - Hosts usually implement PHP Security, limiting some things that can get written to databases etc (to keep sites secure) - the problem is that there's no standard when it comes to security, and some hosts screw things down waaaaay to tight..

#9 samucamg

    Etomite Forum Newbie

  • Member
  • 14 posts

Posted 30 April 2008 - 01:59 PM

View PostDean, on Apr 30 2008, 10:39 AM, said:

Pretty much what Ralph said - Hosts usually implement PHP Security, limiting some things that can get written to databases etc (to keep sites secure) - the problem is that there's no standard when it comes to security, and some hosts screw things down waaaaay to tight..
The PHPMyAdmin is in the control panel. :)

Staff, thank you for your attention and the time spent with my questions. Thank you very much!

#10 Dean

    Loves Etomite Forums!

  • Admin
  • 4,758 posts
  • Gender:Male

Posted 30 April 2008 - 02:04 PM

That's why PHPAdmin works then :)
cPanel uses it's own built version of httpd&php - running on a different port. This one, hosts don't mess with. It's the one that serves your site is the version that hosts mess with.

Ultimately, I don't think there's a lot that they'll do for you. They have to keep their servers secure.

No Problem - hopefully they'll get it sorted for you! Try checking your error log (or get your host to do it)





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users