Biel. 9 Denunciar post Postado Março 10, 2015 criar condições para cadastrar imagens com diferentes extensões Boa tarde a todos. Direto ao ponto. Pessoal no código abaixo gostaria de criar uma condição dizendo que só pode cadastrar imagens com extensões png, jpeg ou gif. Qualquer arquivo que tenha outra extensão gostaria que barrasse tipo. Essa extensão não é permitido. <?php $pasta = 'upload_das_imagens'; $imagem = $_FILES['imagem']['name']; $tmp_name = $_FILES['imagem']['tmp_name']; $type = $_FILES['imagem']['type']; $what = getimagesize($tmp_name); switch($what['mime']) { case 'image/png': $img = imagecreatefrompng($tmp_name); break; case 'image/jpeg': $img = imagecreatefromjpeg($tmp_name); break; case 'image/gif': $img = imagecreatefromgif($tmp_name); break; default: die(); } imagejpeg($pasta.'/'.$imagem); $sql = mysql_query ("INSERT INTO tab_aprendiz (imagem) VALUES ('".$imagem."') "); echo "Cadastro realizado com_sucesso"; } ?> ... <form action="" method="post" name="form1" id="form1" enctype="multipart/form-data"> <table width="294" border="0" cellpadding="5" cellspacing="5"> <tr> <td width="46" height="34" align="right">imagem</td> <td width="218"><input type="file" name="imagem" required value="" /></td> </tr> <tr> <td height="65" colspan="3" valign="bottom"><input type="submit" name="botaocss" value=" Cadastrar" /></td> </tr> </table> <input type="hidden" name="MM_insert" value="form1" /> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
DLSeken 4 Denunciar post Postado Março 11, 2015 Biel, estou sem tempo para criar um exemplo em cima do que você fez acima. Estou enviando o meu código que envia para servidor um arquivo .dat. $nome_temporario = $_FILES["file"]["tmp_name"]; $nome_real=$_FILES["file"]["name"]; //Array com as extensões permitidas $extensoes_permitidas = array('.dat'); // Faz a verificação da extensão do arquivo enviado $extensao = strrchr($_FILES['file']['name'], '.'); // Faz a validação do arquivo enviado if(in_array($extensao, $extensoes_permitidas) === true) { $result = Copy($nome_temporario,"DAT/$nome_real"); if($result){ echo "Extensão permitida. Arquivo recebido com sucesso."; DAT($conexao, $nr_edital, $cd_classe, $nr_prova, $nome_real); }else{ echo "Extensão permitida porém o arquivo não foi enviado com sucesso.\n"; } } else { echo 'Por favor, envie o arquivo com a seguinte extensão: dat.'; } Compartilhar este post Link para o post Compartilhar em outros sites
Thiago - Bulfaitelo 6 Denunciar post Postado Março 11, 2015 Pela sua lógica voce somente verifica se o $type é true ou false, Dica crie um vetor om os types permitidos, e use o in_array para verificar se está permitida a extensão ou não, assim você limita a somente o que está permitido e caso queria atualizar mais as frente fica mais fácil se liga +/- como faria: <?php if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $pasta = 'upload_das_imagens'; // pasta para onde vai as imagens $imagem = $_FILES['imagem']['name']; $temp = $_FILES['imagem']['tmp_name']; $type = $_FILES['imagem']['type']; switch($type){ case 'image/png': $img = imagecreatefrompng($temp); break; case 'image/jpeg': $img = imagecreatefromjpeg($temp); break; default: die(); } $vetor_type = array ('image/png', 'image/jpeg') ; imagejpeg($temp, $pasta.'/'.$imagem); if(!in_array($type, $vetor_type)){ echo "Não é permitido cadastrar essa extensão. "; } else{echo "Cadastro realizado com_sucesso ";} $sqlCadastra = mysql_query ("INSERT INTO tab_aprendiz (imagem) VALUES ('".$imagem."') "); } ?> DLSeken Enquanto eu estava escrevendo tu vai e responde a mesma coisa kkkkkkkkkkkk o/ Muito bom. Compartilhar este post Link para o post Compartilhar em outros sites