Ir para conteúdo
Fórum Script Brasil
  • 0

JavasCript Probelamas no servidor


Carlos Rocha

Pergunta

Ola pessoal. tenho o script abaixo em javascript.

se eu rodar ele a partir de meus documentos ou qualquer pasta que não esteja no servidor ele roda normal.

Se eu cololcar ele no servidor ele da pau ou não roda.

VLE LEMBRAR QUE já TENTEI VARIOS OUTROS ESCRIPT QUE FAZEM A MESMA COISA E DEU O MESMO ERRO:

function validaimagem() {
var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var alturaOk = 1000;
var larguraOk = 1000;
var pesoOk = 1500000;
var extensao    = "," + document.form.logomarca.value.substr( document.form.logomarca.value.length - 4 ).toLowerCase() + ",";
if (document.form.logomarca.value == "")
 {alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 )
 { alert( document.form.logomarca.value + "\nNão possui uma extensão válida" );java script:location.reload()}
else {
        document.getElementById('logotipo').innerHTML = "<img border=\"0\" src=\""+document.form.logomarca.value+"\" name=\"img\" style=\"visibility: hidden\" >"
        largura = document.getElementById("img").width;
        altura = document.getElementById("img").height;
        if (largura >larguraOk || altura > alturaOk )
        {alert("A imagem é "+largura+"x"+altura+" está fora do padrão requerido");java script:location.reload()}
        else {
               var imagem=new Image();
               imagem.src=document.form.logomarca.value;
               tamanho_imagem = imagem.fileSize 
               img_tan = tamanho_imagem
               if (tamanho_imagem > pesoOk)
                {alert("O tamanho da Imagem é muito grande ...  "+tamanho_imagem+" Bytes!!");java script:location.reload()}
             }
      }
                             }
Ou da ese erro:
Out of memory at line: 10

Onde sera que pode estar esse erro?

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
Nobody?

pessoal. To precisando disso!

Carlos, peço a você que pare de postar repetidamente

Isso atrapalha a organização do fórum

Up's não são permitidos de acordo com a regra 3.6 (Ver Regras)

3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.

Portanto, o post foi excluído

Aqui é fórum de PHP, seu problema é com JavaScript

Vou pedir para que movam o tópico para a área correta

se eu rodar ele a partir de meus documentos ou qualquer pasta que não esteja no servidor ele roda normal.

Se eu cololcar ele no servidor ele da pau ou não roda.

como assim pasta que esteja no servidor ??

Se está tentando colocar um arquivo que esteja em outro local que não seja seu computador não vai funcionar mesmo !

Link para o comentário
Compartilhar em outros sites

  • 0

Jonathan, nem perde tempo chamando a atenção, dá uma olhada nos tópicos deles e vai ver que isso é recorrente, infelizmente tem pessoas que não tem a educação suficiente pra saber que vida real ou não, regras existem e devem ser respeitadas, lamentável.

Movendo PHP » JS.

Link para o comentário
Compartilhar em outros sites

  • 0

Gente.

Peço perdão pelas up's mas é que entendo que o problema é de servidor.;

Seguinte.

Se rodo o arquivo por exemplo a partir da pasta meus documentos, o script roda legal.(calro que só a parte html e ajax e o arquio renomeado para html)

Mas, se jogo ele no servidor ai não roda.

veja o que eu estou falando:

Crie um, arquivo com, este codigo e salve ele como .html e rode ele a partir de meus documentos. Vera que funcionara normal.

depois, jogue ele dentro da pasta htdocs do apache e roda ele a partir do servidor(http://localhost/arquivo.html).

Vera o que estou falando:

Talves o problema possa SER CONMFIGURAÇÃO do php ou deo Apache.

arquivo.html:

<html>
<head>
<title>Teste</title>
<script> 
function verifica_extencao() {
var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var alturaOk = 1000;
var larguraOk = 1000;
var pesoOk = 1500000;
var extensao    = "," + document.form.logomarca.value.substr( document.form.logomarca.value.length - 4 ).toLowerCase() + ",";
if (document.form.logomarca.value == "")
 {alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 )
 { alert( document.form.logomarca.value + "\nNão possui uma extensão válida" );java script:location.reload()}
else {
        document.getElementById('logotipo').innerHTML = "<img border=\"0\" src=\""+document.form.logomarca.value+"\" name=\"img\" style=\"visibility: hidden\" >"
        largura = document.getElementById("img").width;
        altura = document.getElementById("img").height;
        if (largura >larguraOk || altura > alturaOk )
        {alert("A imagem é "+largura+"x"+altura+" está fora do padrão requerido");java script:location.reload()}
        else {
               var imagem=new Image();
               imagem.src=document.form.logomarca.value;
               tamanho_imagem = imagem.fileSize 
               img_tan = tamanho_imagem
               if (tamanho_imagem > pesoOk)
                {alert("O tamanho da Imagem é muito grande ...  "+tamanho_imagem+" Bytes!!");java script:location.reload()}
             }
      }
                             }             
</script>
</head>
<body>
<form name="form" enctype="multipart/form-data" method="post" action="jogoupload_gravar.asp" id="form">
<p>Escolha a logotipo:</p>
<p><input type="file" name="logomarca" size="20" class="form2" id="logomarca" onChange="verifica_extencao()"></p>
<div id="logotipo"></div>
</form>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0
Talves o problema possa SER CONMFIGURAÇÃO do php ou deo Apache.

Carinha dá uma lida sobre PHP no apostilando ou no próprio IPED porque sua noção de funcionamento do PHP está equivocada.

Out of memory normalmente ocorre quando acaba toda a memória de um sistema. Provalvelmente seu código deve estar com algum erro grotesco, que esta cosumindo muita memória e culmina na linha 10.

Funciona na sua máquina local por que não tem limite de uso de memória por processo, já no servidor tem.

Diminui o tamanho da imagem...

Link para o comentário
Compartilhar em outros sites

  • 0

Então o problema pode ser no Apache ou no JavaScript né?

Mas, olha só. Eu programo a um bnom tempo de php e tenho noção.;

Porem, por se tratar de um erro que ao meu ver tem a ver com o apache, recorri ao forum do php.

Mas vou olhar isso com mais atenção.

Grato!

E novamente pesso desaculpas pelas up's

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, você continua não entendo, o que acontece:

Porem, por se tratar de um erro que ao meu ver tem a ver com o apache, recorri ao forum do php.
1. Apache, em termos, não tem nada haver com PHP, apache (server) a groso modo é um servidor http que carrega modulos, java, php, ant... Não vincule sempre apache com PHP. É pior do que você achar que tem um erro de MySQL e vincular PHP.

Mas, olha só. Eu programo a um bom tempo de php e tenho noção.;

2. Eu passei 1 ano programando em PHP para uma das maiores agencias de BH sem saber o que era php. Ok, que você trabalhe a 10 anos com PHP mas pelo seu diagnostico de erro foi meio... digamos equivocado. Se você tem uma página .html rodando apenas java script e html seu erro não pode ser o PHP nem o apache, uma das primeiras coisas que o manual do php e tb do apache falam é sobre o conceito de linguagem server-side, tira o apache e o php e rode seu script que vai dar o mesmo erro.

Mas tudo bem, talvez tenha dado um branco e você tenha esquecido... acontece :)

Então o problema pode ser no Apache ou no JavaScript né?

3. Não rapaz, tira o apache dessa história, o problema é sua aplicação que consome muita memória. A solução pro seu problema é diminuir a quantidade de memória que seu script consome:

var pesoOk = 15000;

isso já ajudaria

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, parerce que você n ão entendeu direito.

a mesma pagina html que da o erro dentro do apache, se voce tira-la e colocar por ewxewmplo dentro da pasta meus documentos roda sem erro.

Pode ser por causa daqulo que você falou do time out.

Mas o quie isso tem a ver como o peso da imagem?

Puz o script assim ew não resolveu.;

acho que vou continuar com, a validação só no lado do servidor usando php´mesmo:

function validaimagem() {
var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var extensao    = "," + document.form.logomarca.value.substr( document.form.logomarca.value.length - 4 ).toLowerCase() + ",";
if (document.form.logomarca.value == "")
 {alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 )
 { alert( document.form.logomarca.value + "\nNão possui uma extensão válida" );java script:location.reload()}
else {java script:tamanhos()}     
}
function tamanhos() {
var imagem=new Image();
imagem.src=document.form.logomarca.value;
tamanho_imagem = imagem.fileSize 
img_tan = tamanho_imagem
if (tamanho_imagem < 0)
 {java script:tamanhos()}
else if (tamanho_imagem > 1000)
{alert("O tamanho da Imagem é muito grande ...  "+tamanho_imagem+" Bytes!!");java script:location.reload()}
else 
{java script:ativafigura()}
}
function ativafigura() {
document.getElementById('logotipo').innerHTML = "<img border=\"0\" src=\""+document.form.logomarca.value+"\" name=\"img\" style=\"visibility: hidden\" >"
largura = document.getElementById("img").width;
altura = document.getElementById("img").height;
if (largura > 100 || altura > 100 )
  {alert("A imagem é "+largura+"x"+altura+" está fora do padrão requerido");java script:location.reload()}
                       }

/*function validaimagem() {
var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var alturaOk = 1000;
var larguraOk = 1000;
var pesoOk = 1500000;
var extensao    = "," + document.form.logomarca.value.substr( document.form.logomarca.value.length - 4 ).toLowerCase() + ",";
if (document.form.logomarca.value == "")
 {alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 )
 { alert( document.form.logomarca.value + "\nNão possui uma extensão válida" );java script:location.reload()}
else {
        document.getElementById('logotipo').innerHTML = "<img border=\"0\" src=\""+document.form.logomarca.value+"\" name=\"img\" style=\"visibility: hidden\" >"
        largura = document.getElementById("img").width;
        altura = document.getElementById("img").height;
        if (largura >larguraOk || altura > alturaOk )
        {alert("A imagem é "+largura+"x"+altura+" está fora do padrão requerido");java script:location.reload()}
        else {
               var imagem=new Image();
               imagem.src=document.form.logomarca.value;
               tamanho_imagem = imagem.fileSize 
               img_tan = tamanho_imagem
               if (tamanho_imagem > pesoOk)
                {alert("O tamanho da Imagem é muito grande ...  "+tamanho_imagem+" Bytes!!");java script:location.reload()}
             }
      }
                             }             

*/
////////////////////////////////////////////////////  TESTES ////////////////////

/*
function validaimagem() {
var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var alturaOk = 1000;
var larguraOk = 1000;
var pesoOk = 10;
var src = document.form.logomarca;
var srcid = document.getElementById('logotipo');
//verifica a extensão
var extensao    = "," + src.value.substr( src.value.length - 4 ).toLowerCase() + ",";
if (src.value == "") 
  {alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 ) 
  { alert( src.value + "\nNão possui uma extensão válida" );java script:location.reload()}
else {//verifica o tamanho
     srcid.innerHTML = "<img border=\"0\" src=\""+src.value+"\" name=\"img\" style=\"visibility: hidden\" >"
     largura = document.getElementById("img").width;
     altura = document.getElementById("img").height;
     if (largura > larguraOk || altura > alturaOk )
        {alert("A imagem é "+largura+"x"+altura+" está fora do padrão requerido");java script:location.reload()}
     else {//verifica o peso
          var imagem=new Image();
          imagem.src=src.value;
          tamanho_imagem = imagem.fileSize 
          img_tan = tamanho_imagem
          if (tamanho_imagem > pesoOk) {alert("O tamanho da Imagem é muito grande ...  "+tamanho_imagem+" Bytes!!");java script:location.reload()}
          }
        } 
                    }

                             
    */

Link para o comentário
Compartilhar em outros sites

  • 0
Pode ser por causa daqulo que você falou do time out.
Que time out? O erro que você havia postado anteriormente é out of memory.

Mas o quie isso tem a ver como o peso da imagem?

Chegou a ler o link que te passei sobre out of memory?

Mas o quie isso tem a ver como o peso da imagem?

Já respondi no tópico 2. do meu post anterior. Mas se você não acredita que pode ser isso leia sobre out of memory e tire suas proprias conclusões

Link para o comentário
Compartilhar em outros sites

  • 0

Deixa eu ver se entendi.

Estou usando um Notebook Core 2 Duo de 2.0 e 3.0Gb de Ram.

Voce que dizer que esse script que estou rodando em JavaScript, ao verifiar a imagem seu peso em bytes, e suas dimenções bem como a sua extensão, estoura o uso dos 3GB de RAM que é de onde sai o erro:

Out of memory at line: 10
? É isso mesmi? Se for, como contornar a situaçao? Pergunto pois estou fazendo essa validação tambem do lado do servidor usaando php com o php funciona normal!
Deixa eu ver se entendi. Estou usando um Notebook Core 2 Duo de 2.0 e 3.0Gb de Ram. Voce que dizer que esse script que estou rodando em JavaScript, ao verifiar a imagem seu peso em bytes, e suas dimenções bem como a sua extensão, estoura o uso dos 3GB de RAM que é de onde sai o erro:
Out of memory at line: 10

?

É isso mesmi?

Se for, como contornar a situaçao?

Pergunto pois estou fazendo essa validação tambem do lado do servidor usaando php com o php funciona normal!

Ah só mais uma coisa: Não estou consiguindo editar os meus post's aqui do forum. Não esta tendo linlk nas opçoes: Edição Rapida e Edição completa.

Link para o comentário
Compartilhar em outros sites

  • 0
Deixa eu ver se entendi.

Estou usando um Notebook Core 2 Duo de 2.0 e 3.0Gb de Ram.

Voce que dizer que esse script que estou rodando em JavaScript, ao verifiar a imagem seu peso em bytes, e suas dimenções bem como a sua extensão, estoura o uso dos 3GB de RAM que é de onde sai o erro:

Não é isso não...

O que ele quis dizer é que o navegador provavelmente limita a memória ram que você utiliza para o mesmo site !

Ao testar localmente provavelmente funciona porque o navegador assume que pode ser utilizada mais memória...

Tente diminuir o tamanho da imagem, como o Norivan falou !

Link para o comentário
Compartilhar em outros sites

  • 0

Voce quer dizer trocar os valores maximos permitidos de

var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var alturaOk = 1000;
var larguraOk = 1000;
var pesoOk = 1500000;
para:
var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var alturaOk = 100;
var larguraOk = 100;
var pesoOk = 100;

para efeito de teste (se for isso já fiz e deu no mesmo), ou trocar a imagem a ser uplodeada por uma menor. (tambem deu no mesmo)

Link para o comentário
Compartilhar em outros sites

  • 0

Ah só mais uma coisa:

puz um alert para ver as diumensões da imagem.

quando fora do servidor o script retorna cetinho as dimensões da imagem.

Mas, quando rodo pelo servidor,. qualquer imagem retorna 28x30 suas dimensões,. mesmo que ela tenha 800x600 retorna 28x30.

Ah só mais uma coisa:

puz um alert para ver as diumensões da imagem.

quando fora do servidor o script retorna cetinho as dimensões da imagem.

Mas, quando rodo pelo servidor,. qualquer imagem retorna 28x30 suas dimensões,. mesmo que ela tenha 800x600 retorna 28x30.

são imagens pequenas de cerca de 100kb, 50kb.

são logotipos.

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz com uma de imagem, dem branco que criei pelo paint bnrush

370x150

1,50 KB

Agora veja só:

Quando rodo fora do servidor o script retorna cetinho as dimensões da imagem.

Mas, quando rodo pelo servidor,. qualquer imagem retorna 28x30 suas dimensões,. mesmo que ela tenha 800x600 retorna 28x30.

E tambem da o mesmoi erro.

Bem acho que não consegui passar o problema direito:

vampos la:

1) faça uma pagina html simples (só html e javascript).

Ponha nela o código abaixo. Esse script validara a imagem que sera selecionada em um <impu type=file> quanto a peso, dimensoes e extensão. isso no onmChange.

2) salve ela com o nome por exmplo. Pagina.html

3) Esqueçamos que existe php e que iremos fazer upload depois. O lance aqui é só as validações.;

4) Rode a paginma a partir da pasta meus documentos.

Verá que o script validara tudo certinho.

5) joaguea por ftp para um servidor remoto. No caso de você ter um site hospedado ou faço isso atrtavés do apache (ou IIS) instalado na tua maquina local.

Vera que não vai funcionmar.

É esse o meu problema. Eu quero validar a imagem só do lado do browser(cliente).

joguei o arquivo em http://www.carcleo.com/arquivo.html

<html>
<head>
<script>
function validaimagem() {
var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var extensao    = "," + document.form.logomarca.value.substr( document.form.logomarca.value.length - 4 ).toLowerCase() + ",";
if (document.form.logomarca.value == "")
 {alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 )
 { alert( document.form.logomarca.value + "\nNão possui uma extensão válida" );java script:location.reload()}
else {java script:tamanhos()}     
}
function tamanhos() {
var imagem=new Image();
imagem.src=document.form.logomarca.value;
tamanho_imagem = imagem.fileSize 
img_tan = tamanho_imagem
if (tamanho_imagem < 0)
 {java script:tamanhos()}
else if (tamanho_imagem > 1000)
{alert("O tamanho da Imagem é muito grande ...  "+tamanho_imagem+" Bytes!!");java script:location.reload()}
else 
{java script:ativafigura()}
}
function ativafigura() {
document.getElementById('logotipo').innerHTML = "<img border=\"0\" src=\""+document.form.logomarca.value+"\" name=\"img\" style=\"visibility: hidden\" >"
largura = document.getElementById("img").width;
altura = document.getElementById("img").height;
if (largura > 100 || altura > 100 )
  {alert("A imagem é "+largura+"x"+altura+" está fora do padrão requerido");java script:location.reload()}
                       }
</script>
</head>
<body>
<form name="form" enctype="multipart/form-data" method="post" action="" id="form">
<p>Escolha a foto:</p>
<p>
<input type="file" name="logomarca" size="20" class="form2" onChange="validaimagem();">
<div id="logotipo"></div>
</p>
</form>

</body>
</html>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...