Este fórum é para dúvidas onde a base da questão é a linguagem PHP.
Moderador: web
por antonio duplo x Offline » Qua Fev 08, 2012 7:45 am
|
Ola! gostaria de saber como eu adiciono um filtro para limitar o tamanho da imagem e verificar se é png,jpg etc... Ja que o eregi não funciona no php 5?
- Código: Selecionar todos
<?php session_start(); require_once("restrito.php"); require_once("config.php"); conexao(); if(isset($_GET['acao'])){ if($_GET['acao'] =="enviar" ){ $mala = $_SESSION['login2']; $descricao = $_POST['nome'];
$nomeFoto = $_FILES['foto']['name']; $tmpFoto = $_FILES['foto']['tmp_name']; $destino = "fotos/".$nomeFoto; if(move_uploaded_file($tmpFoto, $destino)){ $sql = "UPDATE cadastro SET desc_cadastro = '$descricao', img_cadastro = '$destino' WHERE id_cadastro = '$mala'"; if($query = @mysql_query($sql, $base)or die("Erro ao enviar Imagem".mysql_error())){ header("Location:perfil.php"); }else{ echo "Ocorreu um erro no Cadastro de Imagem"; } }else{ echo "Erro ao fazer upload da Foto "; } } } ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <form action="?acao=enviar" method="post" enctype="multipart/form-data"> <table width="200" border="0"> <tr> <td><strong>NOME</strong></td> <td><input type="text" name="nome" /></td> </tr> <tr> <td><strong>FOTO</strong></td> <td><input type="file" name="foto" /></td> </tr> <tr> <td> </td> <td><input name="" type="submit" value="Cadastrar" /></td> </tr> </table>
</form> <body> </body> </html>

antonio duplo x
ATIVO
Mensagens: 73
Registrado em: Dom Out 05, 2008 5:23 pm
|
por web Offline » Qua Fev 08, 2012 9:00 am
Tem um script aqui no fórum chamado upload total, tem o filtro para formato de imagem e tamanho. Dá uma olhada
Upload-total_33_873.html

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com
web
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por antonio duplo x Offline » Sex Fev 10, 2012 5:44 pm
Beleza! não é duvida porem refiz o codigo ,e funciona legal . então se alguem quizer utilizar fique a vontade.
- Código: Selecionar todos
<?php require_once("conexao.php"); conexao(); if(isset($_GET['up'])){ $nome = $_POST['nome']; $foto = $_FILES['foto']['name']; $tmpfoto = $_FILES['foto']['tmp_name']; $tamfoto =$_FILES['foto']['size']; //pega o nome e a extensão do arquivo $tipo = explode(".", $_FILES['foto']['name']); //tamanho maximo da imagem,altura largura e coloca num array $tamanho = 1048576; $lar = 150;$alt =150; //pega os valores $dimensoes = getimagesize($tmpfoto); if(preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",$foto, $tipo[1])){ // Verifica se a tamanho da imagem é maior que a permitida if($foto > $tamanho){ $er[] = "Arquivo até 1MB"; } // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $lar) { $er[] = " A largura da imagem não deve ultrapassar ".$lar." pixels"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $alt) {
$er[] = " Altura da imagem não deve ultrapassar ".$alt." pixels"; } $nome_imagem = $foto; // Caminho de onde ficara a imagem $destino = "fotos/".$nome_imagem; // Faz o upload da imagem para seu respectivo caminho if(move_uploaded_file($tmpfoto, $destino)){ // Insere os dados no banco $sql = "INSERT INTO foto (nome_foto, img_foto) VALUES ('$nome','$nome_imagem')"; if($query = @mysql_query($sql, $base)or die("Erro ao enviar Imagem".mysql_error())){ header("Location:painel.php"); }else{ echo "Ocorreu um erro no Cadastro de Imagem"; } }else{ $er[] = "Ouve um erro ao enviar o arquivo"; } } else{ print 'errado'; } } ?>
<HTML> <HEAD> <TITLE>New Document</TITLE> </HEAD> <BODY> <?php if(isset($er)){ echo "<lu>"; for($i=0;$i<count($er);$i++){ echo "<li>".$er[$i]."</li>"; } echo "</lu>"; } ?> <BR> <form action="?up" method="POST" enctype="multipart/form-data"> <table width="200"> <tr> <td>Nome</td> <td><input type="text" name="nome"></td> </tr> <tr> <td> </td> <td><input type="file" name="foto"></td> </tr> <tr> <td> </td> <td><input type="submit" value="Enviar"></td> </tr> </table> </form> </BODY> </HTML>

antonio duplo x
ATIVO
Mensagens: 73
Registrado em: Dom Out 05, 2008 5:23 pm
|
por web Offline » Sex Fev 10, 2012 5:59 pm
Boa.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com
web
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por antonio duplo x Offline » Sex Fev 10, 2012 8:18 pm
Ola desculpa estar recolocando o codigo mais faltava uma variavel e para quem for utilizar copie este
- Código: Selecionar todos
<?php require_once("conexao.php"); conexao();
if(isset($_GET['up'])){ $nome = $_POST['nome']; $foto = $_FILES['foto']['name']; $tmpfoto = $_FILES['foto']['tmp_name']; $tamfoto =$_FILES['foto']['size']; //pega o nome e a extensão do arquivo $tipo = explode(".", $_FILES['foto']['name']); //tamanho maximo da imagem,altura largura e coloca num array $tamanho = 1048576; $lar = 150;$alt =150; //pega os valores $dimensoes = getimagesize($tmpfoto); if(preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",$foto, $tipo[1])){ // Verifica se a tamanho da imagem é maior que a permitida if($tamfoto > $tamanho){ $er[] = "Arquivo até 1MB"; } // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $lar) {
$er[] = " A largura da imagem não deve ultrapassar ".$lar." pixels"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $alt) {
$er[] = " Altura da imagem não deve ultrapassar ".$alt." pixels"; } if(!$er){ $nome_imagem = $foto; // Caminho de onde ficara a imagem $destino = "fotos/".$nome_imagem; // Faz o upload da imagem para seu respectivo caminho if(move_uploaded_file($tmpfoto, $destino)){ // Insere os dados no banco $sql = "INSERT INTO foto (nome_foto, img_foto) VALUES ('$nome','$nome_imagem')"; if($query = @mysql_query($sql, $base)or die("Erro ao enviar Imagem".mysql_error())){ header("Location:painel.php"); }else{ echo "Ocorreu um erro no Cadastro de Imagem"; } }else{ $er[] = "Ouve um erro ao enviar o arquivo"; } } } else{ $er[] = "Arquivo Invalido."; print'<BR>'; $er[] = "Envie outro Arquivo ."; } } ?>
<HTML> <HEAD> <TITLE>New Document</TITLE> </HEAD> <BODY> <?php if(isset($er)){ echo "<lu>"; for($i=0;$i<count($er);$i++){ echo "<li>".$er[$i]."</li>"; } echo "</lu>"; } ?> <BR> <form action="?up" method="POST" enctype="multipart/form-data"> <table width="200"> <tr> <td>Nome</td> <td><input type="text" name="nome"></td> </tr> <tr> <td> </td> <td><input type="file" name="foto"></td> </tr> <tr> <td> </td> <td><input type="submit" value="Enviar"></td> </tr> </table> </form> </BODY> </HTML>

antonio duplo x
ATIVO
Mensagens: 73
Registrado em: Dom Out 05, 2008 5:23 pm
|
por web Offline » Sex Fev 10, 2012 9:01 pm
Vlw.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com
web
ADMIN
Mensagens: 12407
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
Voltar para PHP
Quem está online
Usuários navegando neste fórum: Alexa [Bot] e 3 visitantes
|
|
|