cyrusbr 0 Denunciar post Postado Setembro 28, 2005 Olá eustou tentando fazer um sisteminha de cadastro de produtos ue envia uma foto, mas esta dando um erro. em outros servidores estava dando certo, ai a baixo esta ele: include("conexao.php");//tratando a fotoob_start(); if ($_FILES[arquivo][name]!="") { $imagem = $_FILES[arquivo][tmp_name]; //pegando a url da iamgem que sera criada a minatura $nomef = $_FILES[arquivo][name]; // pegando o nome d aimagem $im = imagecreatefromjpeg($imagem); //criar uma amostra da imagem original $largurao = imagesx($im);// pegar a largura da amostra $alturao = imagesy($im);// pegar a altura da amostra $alturad = 200; // definir a altura da miniatura em px $largurad = ($largurao*$alturad)/$alturao;// calcula a largura da imagem a partir da altura da miniatura $nova = imagecreatetruecolor($largurad,$alturad);//criar uma imagem em branco imagecopyresampled($nova,$im,0,0,0,0,$largurad,$alturad,$largurao,$alturao);//copiar sobre a imagem em branco a amostra diminuindo conforma as especificações da miniatura $rnome="$nomef"; //verifica se o arquivo existe $filename="../fotos/$rnome"; while (file_exists($filename)) { $nome2= substr($rnome,0,strrpos($rnome,".")); echo"Nome: $rnome"; $nome2="$nome2".rand(0,9).".jpg"; $rnome=$nome2; $filename="../fotos/$nome2"; } //fin da verificação---------------------- $foto=$rnome; //vaipara o banco de dados imagejpeg($nova,"../fotos/$rnome");//salva a imagem cria na pasta imagem imagedestroy($nova);//libera a memoria usada na miniatura imagedestroy($im);//libera a memoria usada na amostra } //fim se//recuperando dados$cp=$_POST["fcategoria"];$codigo=$_POST["fcod"];$nome=$_POST["fnome"];$marca=$_POST["fmarca"];$descricao=date("fdescricao");$de = "\r\n"; $para = "<br>"; $descricao=str_replace($de,$para,$descricao);$foto=$rnome; $sql="insert into tb_produto values('','$cp','$codigo','$nome','marca','$descricao','$foto')"; mysql_query($sql)or die("Nao foi possivel usar o banco de dados. Erro: " . mysql_error());//redireciona echo"<script language=\"JavaScript\"> alert (\"Produto adicionado com sucesso\"); window.location=\"cadastraprod.php\" </script>"; clearstatcache(); ob_end_flush(); ai está o erro: Warning: imagejpeg(): Unable to open '../fotos/42-15290645.jpg' for writing in /home/eletroga/public_html/insereprod.php on line 36 Compartilhar este post Link para o post Compartilhar em outros sites
red neck * 0 Denunciar post Postado Setembro 28, 2005 pelo erro ali em cima, esta faltando permissao de escrita, ja tentou dar chmod 777 no arquivo?[]'s Compartilhar este post Link para o post Compartilhar em outros sites
cyrusbr 0 Denunciar post Postado Setembro 29, 2005 pelo erro ali em cima, esta faltando permissao de escrita, ja tentou dar chmod 777 no arquivo? []'s <{POST_SNAPBACK}> Ja dei permissaõ de escrita total e nada continua com o mesmo erro... Em outros servidores deu certo, mas nesse onde ele esta ainda naum. Compartilhar este post Link para o post Compartilhar em outros sites
mestre fyoda 1 Denunciar post Postado Maio 3, 2006 a resposta esta aqui : http://forum.imasters.com.br/index.php?sho...82entry557182 Compartilhar este post Link para o post Compartilhar em outros sites
Raziel Nomack 0 Denunciar post Postado Maio 11, 2006 Cara resolvi da seguinte forma:$diretorio = "asdasdas/asdasd/imagejpeg($nova,$diretorio.$arquivo,100);e teu script tem um erro... e se o cara mandar um *png por exemplo... dá erro dai logo no inicio antes de criar o jpg... eu fiz assim.... $numbername = date("siYmdHis"); //define uma string com uma data qualquer o importante é conter segundos $avatar_file = $_FILES['avatar']['name']; $avatar = str_replace(" ", "_", $avatar_file); $avatar = strtolower($avatar); $avatar = $numbername.$avatar; // pega a data e hora e coloca na frente dos nome do arquivo pra não ter duplicatas... $diretorio_av = "fotosenviadas/avatar/"; $imagem = $_FILES['avatar']['tmp_name']; if(($_FILES['avatar']['type']) == "image/pjpeg") // checa se o arquivo está correto.... { $im = imagecreatefromjpeg($imagem); $largurao = imagesx($im); $alturao = imagesy($im); $alturad = 90; $largurad = ($largurao*$alturad)/$alturao; $nova = imagecreatetruecolor($largurad,$alturad); $cria = imagecopyresampled($nova,$im,0,0,0,0,$largurad,$alturad,$largurao,$alturao); //copiar sobre a imagem em branco a amostra diminuindo conforma as especificações da miniatura.....imagejpeg($nova,$diretorio.$arquivo,100);//grava no db... e talz }else { echo $erro; } // se não for jpg exibe mensagem..... Compartilhar este post Link para o post Compartilhar em outros sites