Fórum WEB - Como trocar botão de Enviar Foto por um botão tipo imagem? #520132
18/05/2015
0
César
Curtir tópico
+ 0Post mais votado
18/05/2015
Digamos que você possui este form:
<form action="" method="post" enctype="multipart/form-data">
<div class="upload">
<input type="file" name="upload"/>
</div>
</form>E em seu CSS você faria isso:
div.upload {
width: 127px;
height: 127px;
background: url(http://uf.pe/images/file-upload-icon.png);
overflow: hidden;
}
div.upload input {
display: block !important;
width: 127px !important;
height: 127px !important;
opacity: 0 !important;
overflow: hidden !important;
}Pode ver um exemplo funcional [url:descricao=clicando neste link!]http://jsfiddle.net/randrade/248wmag6/[/url]
Randrade
Gostei + 1
Mais Posts
18/05/2015
Marcio Araujo
[url]http://www.maujor.com/blog/2006/05/28/botao-enviar-do-formulario/[/url]
Gostei + 0
18/05/2015
César
Gostei + 0
18/05/2015
Randrade
Beleza mano, fico feliz em ajudar.
Gostei + 1
27/05/2015
César
<?php
// Conexão com o banco de dados
include "../../bancodedadosconfig/tabelafotos.php";
$conexaotabelafotos = new mysqli($host, $username, $password, $database);
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());
// Se o usuário clicou no botão cadastrar efetua as alterações
if ($_POST['enviarfotoperfil']) {
// Recupera os dados dos campos
$fotoperfil = $_FILES["fotoperfil"];
// Se a foto estiver sido selecionada
if (!empty($fotoperfil["name"])) {
// Largura máxima em pixels
$largura = 2000;
// Altura máxima em pixels
$altura = 2000;
// Tamanho máximo do arquivo em bytes
$tamanho = 1000;
// Verifica se o arquivo é uma imagem
if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){
$error[1] = "Isso não é uma imagem.";
}
// Pega as dimensões da imagem
$dimensoes = getimagesize($fotoperfil["tmp_name"]);
// Verifica se a largura da imagem é maior que a largura permitida
if($dimensoes[0] > $largura) {
$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
}
// Verifica se a altura da imagem é maior que a altura permitida
if($dimensoes[1] > $altura) {
$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
}
// Verifica se o tamanho da imagem é maior que o tamanho permitido
if($foto["size"] > $tamanho) {
$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
}
// Se não houver nenhum erro
if (count($error) == 0) {
// Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg)$/i", $foto["name"], $ext);
// Gera um nome único para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde ficará a imagem
$caminho_imagem = "fotosdatabase/" . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
// Insere os dados no banco
$sql = mysql_query("INSERT INTO usuarios VALUES ('', '".$nome_imagem."')");
// Se os dados forem inseridos com sucesso
if ($sql){
echo "A foto foi enviada com sucesso.";
}
}
// Se houver mensagens de erro, exibe-as
if (count($error) != 0) {
foreach ($error as $erro) {
echo $erro . "<br />";
}
}
}
}
?>O trecho de código a seguir é que não está funcionando, pois mesmo fazendo upload de arquivo .jpeg acusa de não ser imagem:
// Verifica se o arquivo é uma imagem
if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){
$error[1] = "Isso não é uma imagem.";
} Além disso, gostaria de acrescentar uma funcionalidade que redimensione a imagem para ficar com a mesma dimensão de foto de perfil, tipo uns 100x100px;
Desde já,
Muito Obrigado pelas respostas.
Gostei + 0
28/05/2015
César
Então, consegui resolver meu código ontem a noite, e agora só me resta mostrar as imagens levadas ao banco de dados à página, obedecendo a regra de que a foto deve ser do session... Mas acho que isso resolvo fácil.
Att
César M.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)