WEB - Como trocar botão de Enviar Foto por um botão tipo imagem?
18/05/2015
0
César
Post 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
Mais Posts
18/05/2015
Marcio Araujo
[url]http://www.maujor.com/blog/2006/05/28/botao-enviar-do-formulario/[/url]
18/05/2015
César
18/05/2015
Randrade
Beleza mano, fico feliz em ajudar.
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.
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.
Clique aqui para fazer login e interagir na Comunidade :)