Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cyrusbr

sistema de upload de fotos

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.