entchucs 0 Denunciar post Postado Dezembro 7, 2005 Seguinte, to criando uma função pra redimensionar a imagem (200px de altura por largura proporcional) para depois salvar no mysql.Só que eu me confundi valendo heheAlguém pode me ajudar a achar os erroSSSSS??function mod_imagem ($arquivo) { $foto = addslashes(fread(fopen($arquivo, "r"), filesize($arquivo))); $criaimg = imagecreatefromjpeg($foto); $altu_img = imagesy($criaimg); $altu_img = (int) $altu_img; $larg_img = imagesx($criaimg); $larg_img = (int) $larg_img; $altu = 200; $larg = $larg_img / ($altu_img / 200); $thumb = imagecreatetruecolor($larg, $altu); $source = imagecreatefromjpeg($foto); list($width, $height) = getimagesize($foto); imagecopyresampled($thumb, $source, 0, 0, 0, 0, $larg, $altu, $width, $height); ob_start(); imageJpeg($thumb, NULL, '90'); $arquivo = ob_get_contents(); ob_end_clean(); return $arquivo;}if ($imagem1_name != "") { $arquivo1 = mod_imagem($imagem1); //$imagem1 é o nome do campo do form mysql_query("insert into produtos (img_1) values ('$arquivo1')");} Compartilhar este post Link para o post Compartilhar em outros sites
luis-restart 0 Denunciar post Postado Dezembro 7, 2005 ta gerando algum erro? soh nao ta gravando?faz ela aparecer no brownser primero dai voce testa =D[]sluis Compartilhar este post Link para o post Compartilhar em outros sites
entchucs 0 Denunciar post Postado Dezembro 7, 2005 Ele salva alguma coisa no banco pke no phpmyadmin diz q tem algo [bLOB - 161 Bytes] mas qdo mando visualizar no browser aparece o seguinte: A imagem “xxxxxxx/image.php?area=produtos&campo=img_1&imgid=2” contém erros e não pode ser exibida.Acredito que o problema não é no image.php pke eu jah testei inserindo uma imagem sem esse redimensionamento. Compartilhar este post Link para o post Compartilhar em outros sites
luis-restart 0 Denunciar post Postado Dezembro 7, 2005 Ele salva alguma coisa no banco pke no phpmyadmin diz q tem algo mas qdo mando visualizar no browser aparece o seguinte: A imagem “xxxxxxx/image.php?area=produtos&campo=img_1&imgid=2” contém erros e não pode ser exibida.Acredito que o problema não é no image.php pke eu jah testei inserindo uma imagem sem esse redimensionamento.pra testar voce pode por a saida de buffer dentro de um arquivo .jpg mesmo ou entao por um header() pra imagem e jogar ela no brownser antes mesmo de gravar no banco.(o campo do banco no qual voce grava o $source eh blob??)[]sluis Compartilhar este post Link para o post Compartilhar em outros sites
entchucs 0 Denunciar post Postado Dezembro 7, 2005 Mandei visualizar a imagem antes de mandar pro banco e deu o mesmo erro. Tentei dar mais um addslashes antes de mandar visualizar e surgiu o mesmo erro.O campo eh longblob. Compartilhar este post Link para o post Compartilhar em outros sites
luis-restart 0 Denunciar post Postado Dezembro 7, 2005 Mandei visualizar a imagem antes de mandar pro banco e deu o mesmo erro. Tentei dar mais um addslashes antes de mandar visualizar e surgiu o mesmo erro.O campo eh longblob.fala man,tava com um pouco de tempo aqui eu fiz a funcaozinha:function resize_image($filename){ $width = 200; $height = 200; header('Content-type: image/jpeg'); list($width_orig, $height_orig) = getimagesize($filename); $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg($filename); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); imagejpeg($image_p, null, 100);}resize_image('test.jpg');aqui funcionou blzera, soh que ela nao grava a saida no banco de dados, mas eh soh voce pegar o buffer de saida e gravar la.Outra coisa, hora que eu fiz a funcao eu errei o nome da figura e coloquei teste.jpg onde era test.jpg e apareceu esse erro que voce descreveu, da uma olhada vai que por distracao voce errou o nome da figura porque seu code ta joia tambem.[]sluis Compartilhar este post Link para o post Compartilhar em outros sites
entchucs 0 Denunciar post Postado Dezembro 7, 2005 ConseguiiiiiiiiiiiiEis o código. Dae basta pegar o return da função e manda armazena num campo blob sendo que o $arquivo será o campo do formuláriofunction mod_imagem ($arquivo) { $criaimg = imagecreatefromjpeg($arquivo); $altu_img = imagesy($criaimg); $altu_img = (int) $altu_img; $larg_img = imagesx($criaimg); $larg_img = (int) $larg_img; $altu = 200; $larg = $larg_img / ($altu_img / 200); $thumb = imagecreatetruecolor($larg, $altu); list($width, $height) = getimagesize($arquivo); imagecopyresampled($thumb, $criaimg, 0, 0, 0, 0, $larg, $altu, $width, $height); $arquivo = imageJpeg($thumb, NULL, '90'); $arquivo = addslashes(fread(fopen($arquivo, "r"), filesize($arquivo))); return $arquivo;} Compartilhar este post Link para o post Compartilhar em outros sites
luis-restart 0 Denunciar post Postado Dezembro 7, 2005 ConseguiiiiiiiiiiiiEis o código. Dae basta pegar o return da função e manda armazena num campo blob sendo que o $arquivo será o campo do formuláriofunction mod_imagem ($arquivo) { $criaimg = imagecreatefromjpeg($arquivo); $altu_img = imagesy($criaimg); $altu_img = (int) $altu_img; $larg_img = imagesx($criaimg); $larg_img = (int) $larg_img; $altu = 200; $larg = $larg_img / ($altu_img / 200); $thumb = imagecreatetruecolor($larg, $altu); list($width, $height) = getimagesize($arquivo); imagecopyresampled($thumb, $criaimg, 0, 0, 0, 0, $larg, $altu, $width, $height); $arquivo = imageJpeg($thumb, NULL, '90'); $arquivo = addslashes(fread(fopen($arquivo, "r"), filesize($arquivo))); return $arquivo;}eu testei aqui e essa linha:$arquivo = addslashes(fread(fopen($arquivo, "r"), filesize($arquivo)));tava dando pal, e ao meu ver ela ta ai de bicao hehehe... (pode ver que ele grava um erro no final do arquivo se voce pedir pra mostrar a string resultante mas mesmo assim mostrava o arquivo)show de bola, =D[]sluis fernando Compartilhar este post Link para o post Compartilhar em outros sites
entchucs 0 Denunciar post Postado Dezembro 7, 2005 Aham, acabei vendo isso depois porém, só consigo dar a saida com o header, não consigo salvar no banco. fica o campo com 1 byte =/Jah to de cara heheAlguém sabe o ke pode ser? Compartilhar este post Link para o post Compartilhar em outros sites