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

(resolvido) Como Fazer Upload Apenas De Imagens(extenções Pre-definida


Guest Renan Moreira

Pergunta

Guest Renan Moreira

Olá galera....

to com uma duvida aqui num script de destaques que uso...

gostaria de saber como faço para que só seja possível fazer upload de imagens ou arquivos com estenções pre-determinadas....

no caso preciso das extencões (gif/jpg/jpeg)

já vi alguns códigos mais não consegui aplica-los no script....

segue abaixo os 2 aquivos do script

cadastrar.php

<style type="text/css">
<!--
.style1 { font-size: 9px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
-->
</style>
<form action="?pg=../estrutura/destaques/cadastrar_db.php" method="post" enctype="multipart/form-data">
<h3>Cadastro de Destaque </h3>

<table width="440" border="0" align="center" cellpadding="2" cellspacing="0">
<tr><td colspan="2" align="right" style="border-bottom:1px solid #cccccc">*Campos Obrigatórios</td></tr>

<? if($usernivel == "1") {?>
<tr valign=middle>
<td align=right style="border-bottom:1px solid #cccccc"><b>Franquia:</b></td>
<td width="320" style="border-bottom:1px solid #cccccc">
<select name="id_franquia">
<? $sql = mysql_query("SELECT * FROM franquias");
while($dados=mysql_fetch_array($sql)){
echo "<option value=$dados[id]>$dados[cidade]</option>";
}
?>
</select> </td>
</tr>
<? } else {?>
<input name='id_franquia' type='hidden' size=45 value="<? echo $idfranquia?>">
<? }?>
<tr>
<td width="140" align="right" valign="middle" style="border-bottom:1px solid #cccccc"><strong>Titulo:</strong></td>
<td width="320" valign="middle" style="border-bottom:1px solid #cccccc">
<strong>
<input name='titulo' type='text' id="nome" size=45>
</strong></td>
</tr>
<tr>
<td width="140" align="right" valign="middle" style="border-bottom:1px solid #cccccc"><strong>Descri&ccedil;&atilde;o:</strong></td>
<td valign="middle" style="border-bottom:1px solid #cccccc"><strong>
<textarea name="descricao" cols="34" rows="5"></textarea>
</strong></td>
</tr>
<tr>
<td width="140" align="right" valign="middle" style="border-bottom:1px solid #cccccc"><strong>Link:</strong></td>
<td width="320" valign="middle" style="border-bottom:1px solid #cccccc"><strong>
<input name='link' type='text' id="titulo" size="45" />
</strong></td>
</tr>
<tr valign=middle>
<td align=right style="border-bottom:1px solid #cccccc"><b>Imagem:</b></td>
<td width="320" style="border-bottom:1px solid #cccccc">
<input name="imagem" type="file" id="arquivo" size="30"></td>
</tr>
<tr valign=middle>
<td align=right style="border-bottom:1px solid #cccccc">&nbsp;</td>
<td align="center" style="border-bottom:1px solid #cccccc"><span class="style1">Aten&ccedil;&atilde;o! O tamanho das imagens deve ser de exatamente <strong>200x130 </strong></span></td>
</tr>
</table>
<table align="center">
<tr>
<td width="436" colspan="2"> <p align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input type='submit' value='Cadastrar'>
</font></p></td>
</tr>
</table>
</form>[/codebox]

cadastrar_db.php

[code]<? $id_franquia = $_POST[id_franquia]; $titulo = $_POST[titulo]; $descricao = $_POST[descricao]; $link = $_POST[link]; $data_hora = date("Y-m-d H:i:s"); $imagem = $_POST[imagem]; $uploaddir="../images/destaques/"; if($imagem != "none") {// verifica campo arquivo if (move_uploaded_file($_FILES['imagem']['tmp_name'], $uploaddir . $_FILES['imagem']['name'])) { $nome_arquivo = $_FILES['imagem']['name']; $var1 = "$nome_arquivo"; }} $query = mysql_query("INSERT INTO destaques VALUES ('','$id_franquia','$titulo','$descricao','$link','$data_hora','$var1')"); ?> <h3>Destaque Cadastrado com Sucesso!</h3>[/code]

iai galera... alguém pode me ajudar a travar o script pra fazer upload somente de gif e jpg?

desd já agradeço a quem ajudar...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O modo mais simples (eu acho) é com uma expressão regular que teste o TYPE do arquivo... tipo isso (vai liberar apenas GIF e JPEG)...

<?php
$tipoarq = $_FILES['imagem']['type'];
if(!eregi("^(image)\/(pjpeg|jpeg|gif)$", $tipoarq)){
echo "O arquivo enviado não é válido";
}else{
//Aqui você coloca o código que está utilizando para enviar atualmente...
}
?>

Um detalhe importante é, alguns tipos de imagens permitem comentários nos cabeçalhos, e isso pode ser usado para inserir algum comando PHP que pode ser interpretado no servidor, o que por si só gera um problema de segurança...

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,5k
    • Posts
      652,5k
×
×
  • Criar Novo...