É o seguinte tenho formulario com dois input radios para cadastrar imagens diferentes, quando selecionado um radio ira abrir um input file correspondentem, um sera para logo de tamanho X e outro para banner de tamanho Y. A questão é como eu faria para identificar entre um e o outro atraves desse codigo que já esta funcionando para uma delas somente.
$arquivo = isset($_FILES["logo"]) ? $_FILES["logo"] : FALSE;
$config["tamanho"] = 100000000;
$config["largura"] = 100000000;
$config["altura"] = 10000000;
if($arquivo)
{
if(!preg_match( '/^image\/(jpeg|png|gif|jpg)+$/', $arquivo["type"]))
{
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,
bmp, gif ou png. Envie outro arquivo";
}
else
{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"])
{
$erro[] = "Arquivo em tamanho muito grande!
A imagem deve ser de no máximo " . $config["tamanho"] . " bytes.
Envie outro arquivo";
}
// Para verificar as dimensões da imagem
$tamanhos = getimagesize($arquivo["tmp_name"]);
// Verifica largura
if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve
ultrapassar " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve
ultrapassar " . $config["altura"] . " pixels";
}
}
// Imprime as mensagens de erro
if(sizeof($erro))
{
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
}
else
{
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
$imagem_nome = md5(uniqid(time())) . "." . $ext[1];
$imagem_dir = "fotos/" . $imagem_nome;
}
$tSql = mysql_query("INSERT INTO fotos (foto) VALUES ('$imagem_nome')");
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
echo ' Imagem cadastrada com sucesso!';
}}
Na consulta tabela FOTOS tem campos foto e banner, na consulta SQL so coloquei um para funcionar, mas seria com os dois campos e fazer essa diferenciação na hora que fosse selecionar atraves do radio
Pergunta
guirimst
Boa tarde pessoal,
É o seguinte tenho formulario com dois input radios para cadastrar imagens diferentes, quando selecionado um radio ira abrir um input file correspondentem, um sera para logo de tamanho X e outro para banner de tamanho Y. A questão é como eu faria para identificar entre um e o outro atraves desse codigo que já esta funcionando para uma delas somente.
index.html
<form method="post" name="form" action="upload.php" enctype="multipart/form-data"> <input type="radio" name="qual" value="logo" onclick="valor('logo')"> logo <input type="radio" name="qual" value="banner" onclick="valor('banner')"> banner <input type="file" name="logo" id="logo" style="display:none;"> <input type="file" name="banner" id="banner" style="display:none;"> <input type="submit" value="Enviar"/> </form>Upload.php
$arquivo = isset($_FILES["logo"]) ? $_FILES["logo"] : FALSE; $config["tamanho"] = 100000000; $config["largura"] = 100000000; $config["altura"] = 10000000; if($arquivo) { if(!preg_match( '/^image\/(jpeg|png|gif|jpg)+$/', $arquivo["type"])) { $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } else { // Verifica tamanho do arquivo if($arquivo["size"] > $config["tamanho"]) { $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; } // Para verificar as dimensões da imagem $tamanhos = getimagesize($arquivo["tmp_name"]); // Verifica largura if($tamanhos[0] > $config["largura"]) { $erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels"; } // Verifica altura if($tamanhos[1] > $config["altura"]) { $erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels"; } } // Imprime as mensagens de erro if(sizeof($erro)) { foreach($erro as $err) { echo " - " . $err . "<BR>"; } } else { preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); $imagem_nome = md5(uniqid(time())) . "." . $ext[1]; $imagem_dir = "fotos/" . $imagem_nome; } $tSql = mysql_query("INSERT INTO fotos (foto) VALUES ('$imagem_nome')"); move_uploaded_file($arquivo["tmp_name"], $imagem_dir); echo ' Imagem cadastrada com sucesso!'; }}Na consulta tabela FOTOS tem campos foto e banner, na consulta SQL so coloquei um para funcionar, mas seria com os dois campos e fazer essa diferenciação na hora que fosse selecionar atraves do radio
Alguém poderia me ajudar ? Agradeço desde já
Editado por guirimstLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.