lsteffler 0 Denunciar post Postado Abril 5, 2008 OLá! Funcionou direito aqui, poréme stou adicionando mais dados que devem ser inclusos no BD mas ele nao inclui nada. O codigo que tinha anteriormente erra esse: <?php @ini_set('display_errors', '1'); error_reporting(E_ALL); $titulo = $_POST["titulo"]; $autor = $_POST["autor"]; $data = date("d/m/y"); $hora = date("H:i:s"); $materia = $_POST["materia"]; mysql_connect("xxxxxxxxxxxxxxxxxxxx"); mysql_select_db("xxxxxxxxxxxxxx"); mysql_query("INSERT INTO noticias ( id_noticias , titulo , autor , data , hora , materia ) VALUES ( NULL , '$titulo', '$autor', '$data', '$hora', '$materia')"); mysql_close(); echo "Salvo com sucesso<br />"; ?> Aí eu tentei adicionar isso aí em cima no upalod_class.php mas nao ta funcionando, ficou assim: <?php set_time_limit(0); include "funcoes.php"; include "../../conexao.php"; $arquivo = mysql_query("select * from noticias"); class Upload { var $arquivo = ""; var $erro = array ( "0" => "upload execultado com sucesso!", "1" => "O arquivo é maior que o permitido pelo Servidor", "2" => "O arquivo é maior que o permitido pelo formulario", "3" => "O upload do arquivo foi feito parcialmente", "4" => "Não foi feito o upload do arquivo"); function Verifica_Upload() { $this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE; if(!is_uploaded_file($this->arquivo['tmp_name'])) { return false; } $get = getimagesize($this->arquivo['tmp_name']); if(($get["mime"] != "image/jpeg") AND ($get["mime"] != "image/gif") AND ($get["mime"] != "image/png")) { echo "<span style=\"color: white; border: solid 1px; background: red;\">Esse foto nao é uma imagem valida</span>"; exit; } return true; } function Envia_Arquivo() { if($this->Verifica_Upload()) { $this->gera_fotos(); return true; } else { echo "<span style=\"color: white; border: solid 1px; background: red;\">".$this->erro[$this->arquivo['error']]."</span>"; } } function gera_fotos() { $diretorio = "fotos/"; $diretorio_g = "fotos/g/"; $diretorio_p = "fotos/p/"; if(!file_exists($diretorio)) { mkdir($diretorio); } if(!file_exists($diretorio_g)) { mkdir($diretorio_g); } if(!file_exists($diretorio_p)) { mkdir($diretorio_p); } $get2 = getimagesize($this->arquivo['tmp_name']); /* Vai servir para verificar se eh GIF ou JPG ou PNG*/ $aux_tipo_imagem = $get2["mime"]; /* Vai servir para verificar se eh GIF ou JPG ou PNG*/ if ($aux_tipo_imagem == "image/jpeg") { $nome_foto = "imagem_".time().".jpg"; $nome_thumb = "thumb_".time().".jpg"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_jpg($this->arquivo['tmp_name'], 400, 300, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_jpg($this->arquivo['tmp_name'], 120, 90, $diretorio_p.$nome_thumb); } if ($aux_tipo_imagem == "image/gif") { $nome_foto = "imagem_".time().".gif"; $nome_thumb = "thumb_".time().".gif"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_gif($this->arquivo['tmp_name'], 400, 300, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_gif($this->arquivo['tmp_name'], 120, 90, $diretorio_p.$nome_thumb); } if ($aux_tipo_imagem == "image/png") { $nome_foto = "imagem_".time().".png"; $nome_thumb = "thumb_".time().".png"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_png($this->arquivo['tmp_name'], 400, 300, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_png($this->arquivo['tmp_name'], 120, 90, $diretorio_p.$nome_thumb); } echo "<span style=\"color: white; border: solid 1px; background: purple;\">".$this->erro[$this->arquivo['error']]."</span>"; // Isso aqui faz gravar o nome do arquivo no banco de dados, lembrando que você deve fazer a conexao antes... :D mysql_query("INSERT INTO noticias SET imagem_p='$nome_thumb', imagem_g='$nome_foto'"); $titulo = $_POST["titulo"]; $autor = $_POST["autor"]; $data = date("d/m/y"); $hora = date("H:i:s"); $materia = $_POST["materia"]; mysql_query("INSERT INTO noticias ( id_noticias , titulo , autor , data , hora , materia ) VALUES ( NULL , '$titulo', '$autor', '$data', '$hora', '$materia')"); mysql_close(); echo "Salvo com sucesso<br />"; } } ?> Alguem poderia me ajudar? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
alanrg.83 0 Denunciar post Postado Abril 7, 2008 Fabyo? Oque posso retirar para que esse siteminha fique dinâmico para qualquer tipo de arquivo nao só pra imagem? E mais uma duvida! Tenho uma variavel que qualda o codigo do usuario que esta logado!! gostaria de incorporar esse codigo ao nome do arquivo que vai para o ftp! Para evitar que dois usuarios mandem arquivos com o mesmo nome e ai substitua o que ja existe!! è possivel adaptar esse codigo pra isso?? Compartilhar este post Link para o post Compartilhar em outros sites
lsteffler 0 Denunciar post Postado Abril 7, 2008 Já consegui! Ótimo sistema! Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Tsubaru 1 Denunciar post Postado Abril 11, 2008 Só uma dúvida. Esses erros são padrão? erro 1 é sempre tamanho acima do permitido? Tenho um sistema aqui, que dá erro 1 com arquivos maiores de 2mb. Compartilhar este post Link para o post Compartilhar em outros sites
Beto Lima 0 Denunciar post Postado Abril 16, 2008 O sistema é muito bom pra envio de imagens.... Tenho umas dúvidas somente: Ao invés de gerar tumb_934580345345.jpg queria que gerasse o próprio nome do arquivo original. Ex: figura1.jpg tendo como resultado figura1.jpg na pasta fotos/p Há como fazer isso? Outra coisa é: se o arquivo for de dimensões menores que o mínimo, hoje ele redimensiona pro mínimo, aumentando uma figura que é bem pequena. Há como adaptar? Por fim o lance de multiplos envios ao mesmo submit: Ex: enviar 10 ou 15 fotos ao mesmo tempo. Hoje envia uma por uma.... Agradeço a todos.... Compartilhar este post Link para o post Compartilhar em outros sites
fsf 0 Denunciar post Postado Abril 19, 2008 Pessoal, Em cima do botão enviar na pagina index.php tá aparecendo o seguinte codigo: Envia_Arquivo(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 19, 2008 posta o seu código aqui pra eu verificar, abraço. Compartilhar este post Link para o post Compartilhar em outros sites
fsf 0 Denunciar post Postado Abril 19, 2008 Deve ser problema de configuração do php ou do Apache.. <? require_once "class.upload.php"; $upload = new Upload(); $upload->Envia_Arquivo(); ?> <html> <head> <title>Upload</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form action="index.php" method="post" enctype="multipart/form-data" name="form1"> <input type="file" name="arquivo"> <input type="submit" name="Submit" value="Enviar"> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 19, 2008 Troque por isto: <?php require_once "class.upload.php"; $upload = new Upload(); $upload->Envia_Arquivo(); ?>prefiro que aprenda a utilizar sempre as tags do php deste modo: <?php ?> assim evita vários problemas, pois se a opção das tags reduzidas que é: <? ?> estiver desativa, terá problemas em seu script, então programe pelo modo correto ;) Compartilhar este post Link para o post Compartilhar em outros sites
zangoliers 0 Denunciar post Postado Abril 19, 2008 Tava dando uma olhada ...... Bom o que eu necessito realmente é mandar as imagens para o bd ! E depois resgatá-las, tem como alguém me mostar na íntegra isto? Agradecido desde já; Zangoliers http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 19, 2008 Amigo, não é uma boa idéia fazer isso, pois o DB irá ficar mais pesado de uma certa forma... é mais aconselhável que você faça de acordo o tutorial postado pelo Fabyo ;) mais já te adianto que terá de usar o campo do tipo BLOB no mysql. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
zangoliers 0 Denunciar post Postado Abril 20, 2008 Amigo, não é uma boa idéia fazer isso, pois o DB irá ficar mais pesado de uma certa forma... é mais aconselhável que você faça de acordo o tutorial postado pelo Fabyo ;) mais já te adianto que terá de usar o campo do tipo BLOB no mysql. Abraço. Alaerte estou ciente disto, e dos campos, quero apenas um código na íntegra para fazer isto ! Já procurei até em sites iraquianos e nada !! rsrsrsrs Valeu ! Tô no aguardo galera !!!! Zangoliers Compartilhar este post Link para o post Compartilhar em outros sites
::..Hunter..:: 1 Denunciar post Postado Maio 6, 2008 Raziel, testei a sua alteração da classe do Fabyo e funciona perfeitamente. ;) Parabéns ao Fabyo (criador) e a todos que ajudam a deixar esta classe cada vez melhor. http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif Compartilhar este post Link para o post Compartilhar em outros sites
Angelo lima 0 Denunciar post Postado Maio 28, 2008 Eae pessoal, tranquilo ??? Bom meu caso é simples .... Quando eu insiro o registro ele precisaria loopar 3 campos de imagem sendo que tem também os campos de legenda e créditos que teria que pegar nesse loop. Quando eu insiro 1 só registro ele vai perfeito ..... mas não to conseguindo loopar para pegar 3 campos de imagem. Alguém poderia me ajudar por favor ??? resize.php <?php //######################## Função para imagem JPG ########################### function reduz_imagem_jpg($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } if($original_x < $original_y) { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromjpeg($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagejpeg($image_p, $nome_foto, 100); } //######################## Função para imagem GIF ########################### function reduz_imagem_gif($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromgif($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagegif($image_p, $nome_foto, 100); } //######################## Função para imagem PNG ########################### function reduz_imagem_png($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefrompng($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagepng($image_p, $nome_foto, 100); } ?> class_upload.php <?php set_time_limit(0); include "resize.php"; class Upload { var $arquivo = ""; var $erro = array ( "0" => "Upload executado com sucesso!", "1" => "A Imagem é maior que o permitido pelo Servidor", "2" => "A Imagem é maior que o permitido pelo formulario", "3" => "O upload do arquivo foi feito parcialmente", "4" => "Não foi feito upload de imagem"); function Verifica_Upload() { $this->arquivo = isset($_FILES["imagem1"]) ? $_FILES["imagem1"] : FALSE; if(!is_uploaded_file($this->arquivo['tmp_name'])) { return false; } $get = getimagesize($this->arquivo['tmp_name']); if(($get["mime"] != "image/jpeg") AND ($get["mime"] != "image/gif") AND ($get["mime"] != "image/png")) { echo "<span style=\"color:#FFFFFF; font:bold 11px Arial; float:right; border: solid 1px; background:#990000; padding:5px;\">Esse foto nao é uma imagem válida</span>"; exit; } return true; } function Envia_Arquivo() { if($this->Verifica_Upload()) { $this->gera_fotos(); return true; } else { echo "<span style=\"color:#FFFFFF; font:bold 11px Arial; float:right; border: solid 1px; background:#990000; padding:5px;\">".$this->erro[$this->arquivo['error']]."</span>"; } } function gera_fotos() { $diretorio = "/home/images_file/"; $diretorio_g = "/home/images_file/g/"; $diretorio_p = "/home/images_file/p/"; if(!file_exists($diretorio)){ mkdir($diretorio) or die("erro ao criar ".$diretorio); } if(!file_exists($diretorio_g)){ mkdir($diretorio_g)or die("erro ao criar ".$diretorio_g); } if(!file_exists($diretorio_p)){ mkdir($diretorio_p)or die("erro ao criar ".$diretorio_p); } $get2 = getimagesize($this->arquivo['tmp_name']); /* Vai servir para verificar se eh GIF ou JPG ou PNG*/ $aux_tipo_imagem = $get2["mime"]; /* Vai servir para verificar se eh GIF ou JPG ou PNG*/ if ($aux_tipo_imagem == "image/jpeg") { $nome_foto = "imagem_".time().".jpg"; $nome_thumb = "thumb_".time().".jpg"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_jpg($this->arquivo['tmp_name'], 640, 480, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_jpg($this->arquivo['tmp_name'], 128, 96, $diretorio_p.$nome_thumb); } if ($aux_tipo_imagem == "image/gif") { $nome_foto = "imagem_".time().".gif"; $nome_thumb = "thumb_".time().".gif"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_jpg($this->arquivo['tmp_name'], 640, 480, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_jpg($this->arquivo['tmp_name'], 128, 96, $diretorio_p.$nome_thumb); } if ($aux_tipo_imagem == "image/png") { $nome_foto = "imagem_".time().".png"; $nome_thumb = "thumb_".time().".png"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_jpg($this->arquivo['tmp_name'], 640, 480, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_jpg($this->arquivo['tmp_name'], 128, 96, $diretorio_p.$nome_thumb); } echo "<span style=\"color:#FFFFFF; font:bold 11px Arial; float:right; border: solid 1px; background:#990000; padding:5px;\">".$this->erro[$this->arquivo1['error']]." em: ".$_REQUEST['legenda1']."</span>"; // Isso aqui faz gravar o nome do arquivo no banco de dados, lembrando que você deve fazer a conexao antes... :D $sql = "INSERT INTO images (intTable, intid, strimagem, strimagemthumb, strlegenda, strcredito) "; $sql = $sql."VALUES "; $sql = $sql."('dbo_evento', '".$nid."', '".$nome_foto."', '".$nome_thumb."', '".$_REQUEST["legenda1"]."', '".$_REQUEST["creditos1"]."')"; mysql_query($sql); } } ?> Ps. Quando eu chamo a classe na pagina eu estou chamando assim: require_once("class/class_upload.php"); $upload = new Upload(); $upload->Envia_Arquivo(); Abraços Compartilhar este post Link para o post Compartilhar em outros sites
franksniper 0 Denunciar post Postado Junho 9, 2008 Ae Fabyo, sei que ae está diminuindo proporcionalmente, mas como faço pa forçar a diminuir dentro do tamanho que eu quero??? Queria por os thumbs 100x80 e os maiores 500x400 se puder ajudar, ficarei muito grato! Obrigado! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Ivo Barbosa 0 Denunciar post Postado Julho 9, 2008 Eae pessoal, tranquilo ??? Bom meu caso é simples .... Quando eu insiro o registro ele precisaria loopar 3 campos de imagem sendo que tem também os campos de legenda e créditos que teria que pegar nesse loop. Quando eu insiro 1 só registro ele vai perfeito ..... mas não to conseguindo loopar para pegar 3 campos de imagem. Alguém poderia me ajudar por favor ??? resize.php <?php //######################## Função para imagem JPG ########################### function reduz_imagem_jpg($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } if($original_x < $original_y) { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromjpeg($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagejpeg($image_p, $nome_foto, 100); } //######################## Função para imagem GIF ########################### function reduz_imagem_gif($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromgif($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagegif($image_p, $nome_foto, 100); } //######################## Função para imagem PNG ########################### function reduz_imagem_png($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefrompng($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagepng($image_p, $nome_foto, 100); } ?> class_upload.php <?php set_time_limit(0); include "resize.php"; class Upload { var $arquivo = ""; var $erro = array ( "0" => "Upload executado com sucesso!", "1" => "A Imagem é maior que o permitido pelo Servidor", "2" => "A Imagem é maior que o permitido pelo formulario", "3" => "O upload do arquivo foi feito parcialmente", "4" => "Não foi feito upload de imagem"); function Verifica_Upload() { $this->arquivo = isset($_FILES["imagem1"]) ? $_FILES["imagem1"] : FALSE; if(!is_uploaded_file($this->arquivo['tmp_name'])) { return false; } $get = getimagesize($this->arquivo['tmp_name']); if(($get["mime"] != "image/jpeg") AND ($get["mime"] != "image/gif") AND ($get["mime"] != "image/png")) { echo "<span style=\"color:#FFFFFF; font:bold 11px Arial; float:right; border: solid 1px; background:#990000; padding:5px;\">Esse foto nao é uma imagem válida</span>"; exit; } return true; } function Envia_Arquivo() { if($this->Verifica_Upload()) { $this->gera_fotos(); return true; } else { echo "<span style=\"color:#FFFFFF; font:bold 11px Arial; float:right; border: solid 1px; background:#990000; padding:5px;\">".$this->erro[$this->arquivo['error']]."</span>"; } } function gera_fotos() { $diretorio = "/home/images_file/"; $diretorio_g = "/home/images_file/g/"; $diretorio_p = "/home/images_file/p/"; if(!file_exists($diretorio)){ mkdir($diretorio) or die("erro ao criar ".$diretorio); } if(!file_exists($diretorio_g)){ mkdir($diretorio_g)or die("erro ao criar ".$diretorio_g); } if(!file_exists($diretorio_p)){ mkdir($diretorio_p)or die("erro ao criar ".$diretorio_p); } $get2 = getimagesize($this->arquivo['tmp_name']); /* Vai servir para verificar se eh GIF ou JPG ou PNG*/ $aux_tipo_imagem = $get2["mime"]; /* Vai servir para verificar se eh GIF ou JPG ou PNG*/ if ($aux_tipo_imagem == "image/jpeg") { $nome_foto = "imagem_".time().".jpg"; $nome_thumb = "thumb_".time().".jpg"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_jpg($this->arquivo['tmp_name'], 640, 480, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_jpg($this->arquivo['tmp_name'], 128, 96, $diretorio_p.$nome_thumb); } if ($aux_tipo_imagem == "image/gif") { $nome_foto = "imagem_".time().".gif"; $nome_thumb = "thumb_".time().".gif"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_jpg($this->arquivo['tmp_name'], 640, 480, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_jpg($this->arquivo['tmp_name'], 128, 96, $diretorio_p.$nome_thumb); } if ($aux_tipo_imagem == "image/png") { $nome_foto = "imagem_".time().".png"; $nome_thumb = "thumb_".time().".png"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem_jpg($this->arquivo['tmp_name'], 640, 480, $diretorio_g.$nome_foto); //passo o tamanho da thumbnail reduz_imagem_jpg($this->arquivo['tmp_name'], 128, 96, $diretorio_p.$nome_thumb); } echo "<span style=\"color:#FFFFFF; font:bold 11px Arial; float:right; border: solid 1px; background:#990000; padding:5px;\">".$this->erro[$this->arquivo1['error']]." em: ".$_REQUEST['legenda1']."</span>"; // Isso aqui faz gravar o nome do arquivo no banco de dados, lembrando que você deve fazer a conexao antes... :D $sql = "INSERT INTO images (intTable, intid, strimagem, strimagemthumb, strlegenda, strcredito) "; $sql = $sql."VALUES "; $sql = $sql."('dbo_evento', '".$nid."', '".$nome_foto."', '".$nome_thumb."', '".$_REQUEST["legenda1"]."', '".$_REQUEST["creditos1"]."')"; mysql_query($sql); } } ?> Ps. Quando eu chamo a classe na pagina eu estou chamando assim: require_once("class/class_upload.php"); $upload = new Upload(); $upload->Envia_Arquivo(); Abraços alguem consegue adiconar suporte a função de resize para poder fazer o upload de gifs e pngs??? Compartilhar este post Link para o post Compartilhar em outros sites
Ivo Barbosa 0 Denunciar post Postado Julho 9, 2008 Pessoal essa classe que eu fiz ja tem um bom tempo, nem considero uma classe é mais uma função, mas como a intenção é ensinar o redicionamento entao nao refiz a classe o que quero passar pra vcs é o redicionamento da imagem e criando o thumbnails , apesar que minha classe sendo antiga ela funciona legal e valida se o upload foi feito e se é uma imagem mesmo e nesse exemplo eu nao uso as funções de upload move nem copy porque eu pego a imagem na pasta temp do servidor e ja crio a imagem nova na pasta destino vamos ao script: index.php <? require_once "class_upload.php"; $upload = new Upload(); $upload->Envia_Arquivo(); ?> <html> <head> <title>Upload</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data" name="form1"> <input type="file" name="arquivo"> <input type="submit" name="Submit" value="Enviar"> </form> </body> </html> funcoes.php <?php /*Fabyo Guimaraes de Oliveira */ function reduz_imagem($img, $max_x, $max_y, $nome_foto) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromjpeg($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagejpeg($image_p, $nome_foto, 100); } ?> class.upload.php <? set_time_limit(0); include "funcoes.php"; class Upload { var $arquivo = ""; var $erro = array ( "0" => "upload execultado com sucesso!", "1" => "O arquivo é maior que o permitido pelo Servidor", "2" => "O arquivo é maior que o permitido pelo formulario", "3" => "O upload do arquivo foi feito parcialmente", "4" => "Não foi feito o upload do arquivo" ); function Verifica_Upload() { $this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE; if(!is_uploaded_file($this->arquivo['tmp_name'])) { return false; } $get = getimagesize($this->arquivo['tmp_name']); if($get["mime"] != "image/jpeg") { echo "<span style=\"color: white; border: solid 1px; background: red;\">Esse foto nao é uma imagem valida</span>"; exit; } return true; } function Envia_Arquivo() { if($this->Verifica_Upload()) { $this->gera_fotos(); return true; } else { echo "<span style=\"color: white; border: solid 1px; background: red;\">".$this->erro[$this->arquivo['error']]."</span>"; } } function gera_fotos() { $diretorio = "fotos/"; if(!file_exists($diretorio)) { mkdir($diretorio); } $nome_foto = "imagem_".time().".jpg"; $nome_thumb = "thumb_".time().".jpg"; //determino uma resolução maxima e se a imagem for maior ela sera reduzida reduz_imagem($this->arquivo['tmp_name'], 400, 300, $diretorio.$nome_foto); //passo o tamanho da thumbnail reduz_imagem($this->arquivo['tmp_name'], 120, 90, $diretorio.$nome_thumb); echo "<span style=\"color: white; border: solid 1px; background: blue;\">".$this->erro[$this->arquivo['error']]."</span>"; } } ?> como falei acima o foco desse tutorial é ensinar o redicionamento da imagem sem perder nenhum pedaço da imagem porque a função reduz_imagem que eu criei ela redimenciona proporcionalmente a imagem modo de usar passando a resolução como parametro exemplo 400 X 300 reduz_imagem("nome_da_imagem", 400, 300, "path_da_foto"); com esse exemplo vcs podem criar sistema de upload que salva o nome da foto no banco e só adaptar a gosto mas quem tiver duvidas só postar alguém me ajuda a colocar este upload a funcionar png e gifs??? Compartilhar este post Link para o post Compartilhar em outros sites
ANDERSON GABRIEL 0 Denunciar post Postado Julho 30, 2008 Olá, pessoal Bom eu usei é muito bom o codigo. utilizei ele sem problemas. Na verdade eu queria que não fizesse a modificação do tamanho da imagem, como faço?? E aonde está no codigo a função que envia o arquivo para o servidor. Aguardo. Valew. Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Agosto 16, 2008 Deixa eu dar meus parabéns pelo script também ora... http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Cara você é o máximo... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
S t o n e 0 Denunciar post Postado Setembro 27, 2008 Olá Fabyo, estou tendo problemas com o resize da imagem, é só o entendimento mesmo, preciso de uma imagem thumb com a altura padrão de 160px mas ele fica 125px sempre n]ao sei pq, botei assim: reduz_imagem($this->arquivo['tmp_name'], 160, 90, $diretorio.$nome_thumb); Compartilhar este post Link para o post Compartilhar em outros sites