Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kelven

validação de imagem

Recommended Posts

gente eu to com uma função para validar imagem chamada:

 

preg_match("/\.(gif|bmp|png|jpg)(L) $/i", $foto["name"], $ext);

a primeira coisa que eu queria saber é como é que ela funciona?

a segunda é como eu posso integrar ela no if? por exemplo: da pra fazer assim:

 

if(preg_match("/\.(gif|bmp|png|jpg)(L) $/i", $foto["name"], $ext))
{
echo "imagem enviada com sucesso";
}

else

{
echo "isso não é imagem";
}

é assim que se usa com if?

 

e terceiro, se for dessa maneira que se usa como é que eu faço para exibir o alert do javascript dentro desse php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu coloquei o codigo bem assim e não deu certo.


<script language="javascript">
	function validadados(formulario)
	{


if ($logo != "")
    {
		if (preg_match("/\.(gif|bmp|png|jpg|)(L) $/i", $nomeArquivo["name"], $ext)
		{
        alert("Esse arquivo não é uma imagem, só insira imagens tipo jpeg e gif.");
		return false;
		}
		
    }
		else
		{
			alert("Cadastro efetuado com sucesso. Em até 24hs uteis estaremos entrando em contato com você");
		return true;}
	}


</script>

 

e chamei o java la no formulario mais mesmo assim não deu certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o ideal é você validar usando o mime-type em vez de usar a extensão, um usuario pode mudar a extensão e enviar como se fosse outro formato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como é que eu posso usar o código mime type?

 

gente eu descobrir um jeito so que quando eu fui integrar um código com o outro não deu certo vocês podem em ajudar a integrar esse código aqui olha:


<script language="javascript">
function comprova_extensao(formulario, arquivo) {
   extensoes_permitidas = new Array(".gif", ".jpg");
   meuerro = "";
   if (!arquivo) {
      //Se não tenho arquivo, é porque não se selecionou um arquivo no formulário.
       meuerro = "Não foi selecionado nenhum arquivo";
   }else{
      //recupero a extensão deste nome de arquivo
      extensao = (arquivo.substring(arquivo.lastIndexOf("."))).toLowerCase();
      //alert (extensao);
      //comprovo se a extensão está entre as permitidas
      permitida = false;
      for (var i = 0; i < extensoes_permitidas.length; i++) {
         if (extensoes_permitidas[i] == extensao) {
         permitida = true;
         break;
         }
      }
      if (!permitida) {
         meuerro = "Só são permitidos arquivos com extensões: " + extensoes_permitidas.join();
       }else{
          //submeto!
        ;
         formulario.submit();
         return 1;
       }
   }
   //se estou aqui é porque não se pode submeter
   alert (meuerro);
   return 0;
} 
</script>

quero colocar esse código ai de sima dentro desse codigo aqui de baixo:

 


<script language="javascript">
	function validadados(formulario)
	{
		if (formulario.nome_completo.value == "")
		{
			alert("O campo, nome, é obrigatório");
			return false;}
			
		if (formulario.data_de_nascimento.value == "")
		{
			alert("O campo, data de nascimento, é obrigatório");
			return false;}
			
		if (formulario.cpf_cnpj.value == "")
		{
			alert("O campo, cpf ou cnpj, é obrigatório");
			return false;}
		
		if(!formulario.sexo[0].checked && !formulario.sexo[1].checked && !formulario.sexo[2].checked)
		{
			alert("O campo, sexo é obrigatório");
			return false;
		}
			
		if (formulario.cidade.value == "")
		{
			alert("O campo, cidade, é obrigatório");
			return false;}
		if (formulario.estado.value == "")
		{
			alert("O campo, estado, é obrigatório");
			return false;}
			
		if (formulario.pais.value == "")
		{
			alert("O campo, pais, é obrigatório");
			return false;}
		
		if (formulario.telefone_residencial.value == "")
		{
			alert("O campo, DDD do telefone residencial, é obrigatório");
			return false;}
			
		if (formulario.telefone_residencial2.value == "")
		{
			alert("O campo, telefone residencial, é obrigatório");
			return false;}
			
		if (formulario.telefone_celular.value == "")
		{
			alert("O campo, DDD do telefone celular, é obrigatório");
			return false;}
			
		if (formulario.telefone_celular2.value == "")
		{
			alert("O campo, telefone celular, é obrigatório");
			return false;}
			
		if (formulario.email.value == "")
		{
			alert("O campo, email, é obrigatório");
			return false;}
		
		if (formulario.publico_alvo.value == "")
		{
			alert("O campo, público alvo ,é obrigatório");
			return false;}
			
		if (formulario.o_site_tem_que_ter.value == "")
		{
			alert("O campo, descreva aqui tudo o que você quer que seu site tenha, é obrigatório");
			return false;}
			
		
			
		
		else
		{
			alert("Cadastro efetuado com sucesso. Em até 24hs uteis estaremos entrando em contato com você");
		return true;}
	}


</script>


alguem sabe?

 

o problema é que no primeiro script a ação dele vai para o botão desse jeito olha:

<input name="enviar" type="submit" id="enviar" value="Cadastrar" onclick="comprova_extensao(this.form, this.form.logo.value)" />

e o segundo a ação vai para o começo do formulario desse jeito:

<form enctype="multipart/form-data" method="post" onsubmit="return validadados(this)">

isso sera que isso interfere?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.