crawler 1 Denunciar post Postado Agosto 7, 2009 Estou começando a trabalhar com a biblioteca GD, Aqui em localhost rodou perfeitamente. Porem no servidor remoto me retorna sempre o mesmo erro: "Warning: imagejpeg() [function.imagejpeg]: Unable to open 'rafael.jpg' for writing in C:\Inetpub\vhosts\hidroceres.com.br\httpdocs\teste.php on line 8" Já tentei quase tudo, as permissoes ja estao liberadas para esse diretorio e nesse arquivo tambem, a biblioteca GD esta ativada no servidor e eu não sei o que pode esta acontecendo. Código <?php $imagem = imagecreate(120, 30); $CorFundo = imagecolorallocate($imagem, 10, 140, 190); $CorFonte = imagecolorallocate($imagem, 255, 255 , 255); imagestring($imagem, 5, 20, 8,"rafael", $CorFonte); imagejpeg($imagem, "http://hidroceres.com.br/rafael.jpg"); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 7, 2009 O arquivo existe neste endereço? Tente abrir diretamente pelo navegador, usando o endereço completo, pra ver se a imagem está realmente lá. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
crawler 1 Denunciar post Postado Agosto 7, 2009 Está lá sim. Por favor, eu queria saber o que esta acontecendo. Compartilhar este post Link para o post Compartilhar em outros sites
henry franklin 0 Denunciar post Postado Agosto 8, 2009 Bom, parece que você está tentando salvar a imagem em outro servidor. imagejpeg() criando "$imagem" em "http://hidroceres.com.br/" com o nome "rafael.jpg". verifique as pemissões do servidor hidroceres.com.br para ver se ele deixa outro servidor "mexer" nas coisas dele. a menos q estejas apenas querendo criar outra imagem com base na imagem "rafael.jpg"... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 8, 2009 Tá errado a utilização. O segundo parâmetro é 'O caminho para salvar o arquivo. Se não definido ou NULL, o stream da imagem será mostrado diretamente. Para pular este argumento para fornecer o parâmetro quality , use NULL.' Fonte - http://br.php.net/manual/pt_BR/function.imagejpeg.php Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
crawler 1 Denunciar post Postado Agosto 8, 2009 Agora deu certo sim. Porém meu objetivo é fazer um "captcha" e para fazer validação da mesma preciso salvar a imagem em arquivo, se eu usar um header("Content-type: image/jpeg") a pagina toda se transforma em imagem e não da pra fazer a validação. Aqui em localhost funciona, mas no servidor remoto retorna esse erro. "Warning: imagejpeg() [function.imagejpeg]: Unable to open 'rafael.jpg' for writing in C:\Inetpub\vhosts\hidroceres.com.br\httpdocs\teste.php on line 8". Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 8, 2009 2 coisas... Você leu o meu post anterior? Se leu, corrigiu e continua dando erro, vamos a segunda coisa. Como está seu código neste momento, já que você 'conseguiu' fazer? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
crawler 1 Denunciar post Postado Agosto 10, 2009 2 coisas... Você leu o meu post anterior? Se leu, corrigiu e continua dando erro, vamos a segunda coisa. Como está seu código neste momento, já que você 'conseguiu' fazer? Carlos Eduardo Consegui sim dessa maneira: <?php header("Content-type: image/jpeg"); $imagem = imagecreate(120, 30); $CorFundo = imagecolorallocate($imagem, 10, 140, 190); $CorFonte = imagecolorallocate($imagem, 255, 255 , 255); imagestring($imagem, 5, 20, 8,"rafael", $CorFonte); imagejpeg($imagem, null, 50); ?> Se eu não colocar o header vai aparecer milhoes de caracteres estranhos na página correto? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 10, 2009 Se eu não colocar o header vai aparecer milhoes de caracteres estranhos na página correto? Testa pra ver, deixe sem e veja o que acontece. Compartilhar este post Link para o post Compartilhar em outros sites
crawler 1 Denunciar post Postado Agosto 10, 2009 Aparece vários caracteres estranhos na página. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 10, 2009 Tá... Não tô entendendo mais nada... Responda às seguintes perguntar, separadamente... - Está funcionando? - Se não, qual erro aparece? - Qual o código que você está usando? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
crawler 1 Denunciar post Postado Agosto 10, 2009 - Está funcionando? Não da maneira que necessito se eu colocar o header fica dessa maneira: Repare na imagem que aparece apenas a imagem e não o formulario do código que vou postar. - Se não, qual erro aparece? Se eu retiro o header aparece isso no navegador.. - Qual o código que você está usando? <?php // header("Content-type: image/jpeg"); //função que cria as letras aleatorias function captcha($qtdeletras){ $letras = "0123456789abcdefghijklmnopqrstuvwxyz"; for ($i=0; $i < $qtdeletras; $i++){ $captcha .= $letras{rand(0,strlen($letras) -1)}; } return $captcha; } function DesenhaCaptcha(){ global $captcha; $captcha = captcha(9); $imagem = imagecreate(130, 30); $CorFundo = imagecolorallocate($imagem, 10, 140, 190); $CorFonte = imagecolorallocate($imagem, 255, 255 , 255); imagestring($imagem, 5, 26, 8, $captcha, $CorFonte); ImageJpeg($imagem, null, 60); } DesenhaCaptcha(); ?> <!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=utf-8" /> <title>Untitled Document</title> <script type="text/javascript"> function validaform(){ var captcha ="<?php echo $captcha; ?>"; if (document.form1.txtvalor.value != captcha){ alert("Valor Incorreto"); return false; } } </script> </head> <body> <form id="form1" name="form1" method="post" action="#" onsubmit="return validaform()"> <table width="340" border="0" cellpadding="1" cellspacing="1"> <tr> <td width="150"><img src="./captcha.jpg" /></td> <td width="183"><div align="right"> <input type="text" name="txtvalor" id="textfield" /> </div></td> </tr> <tr> <td> </td> <td><div align="right"> <input type="submit" name="button" id="button" value="Verificar" /> </div></td> </tr> </table> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Agosto 11, 2009 Olha, o que eu te aconselho a fazer. Pega um sistema de captcha pronto - por exemplo, recaptcha - e veja o funcionamento. Daí você vai achar a solução para o seu. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Agosto 11, 2009 coloca as funcoes num arquivo separado e chama como num outro como tag de imagem.... Compartilhar este post Link para o post Compartilhar em outros sites
crawler 1 Denunciar post Postado Agosto 12, 2009 Pessoal, consegui atingir o objetivo, com o uso de variaveis $_SESSION pude fazer a validação e ta funcionando certinho. A unica coisa que eu gostaria de saber se é seguro o uso de $_SESSIONS como variaveis globais? Vlw pessoal. Brigadao; Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 12, 2009 Ela por si só já possui escopo global, entretanto, é uma forma segura, mais não 100%, depende de como você fará as validações etc. Compartilhar este post Link para o post Compartilhar em outros sites