Foros del Web » Programando para Internet » PHP »

Captcha en local sí y en server no

Estas en el tema de Captcha en local sí y en server no en el foro de PHP en Foros del Web. Buenas Mi captcha funciona en local perfectamente, pero cuando lo subo al servidor no muestra ninguna imagen. Tengo que activar algo o comprobar algo en ...
  #1 (permalink)  
Antiguo 13/03/2008, 12:43
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Captcha en local sí y en server no

Buenas

Mi captcha funciona en local perfectamente, pero cuando lo subo al servidor no muestra ninguna imagen.

Tengo que activar algo o comprobar algo en el servidor?

Pd: utilizo fuentes propias, pero tb las he subido, no da errores... simplemente no muestra nada donde deberia mostrar los numeros.

Alguna idea?
  #2 (permalink)  
Antiguo 13/03/2008, 13:09
 
Fecha de Ingreso: febrero-2008
Ubicación: Bahia Blanca
Mensajes: 173
Antigüedad: 16 años, 2 meses
Puntos: 7
Re: Captcha en local sí y en server no

Fijate si tenes las librerìas GD activadas, y chequea tambien las versiones (si son las mismas en ambos servidores).
  #3 (permalink)  
Antiguo 13/03/2008, 13:41
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Re: Captcha en local sí y en server no

Cita:
Iniciado por shock_dude Ver Mensaje
Fijate si tenes las librerìas GD activadas, y chequea tambien las versiones (si son las mismas en ambos servidores).
Mi servidor local
gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled


Mi servidor online
gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled


Véis alguna incompatibilidad?

PD: En mi servidor online no tengo esta linea
FreeType Version 2.1.9

Gracias
  #4 (permalink)  
Antiguo 13/03/2008, 14:31
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
Re: Captcha en local sí y en server no

No sera que genera una imagen en alguna carpeta y no haz seteado esta y/o dado los permisos de escritura ?
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #5 (permalink)  
Antiguo 13/03/2008, 14:58
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Re: Captcha en local sí y en server no

Cita:
Iniciado por elquique Ver Mensaje
No sera que genera una imagen en alguna carpeta y no haz seteado esta y/o dado los permisos de escritura ?
No creo no??

Mira este es el codigo

gen_imagen.php
Código PHP:
<?php
/*
GENERADOR CAPTCHA IMAGEN.
*/
// Iniciamos uso de sesiones ...
session_start(); 

//recogemos el texto por el URL que enviamos a generar desde el link de imagen del HTML de nuestro formulario
$codigo=$_SESSION['micaptcha'];

//nombres tipografías a usar (sin extensión .ttf)
//$tipografias = array("JOKERMAN","Hotel Coral Essex","OctemberScript");
$tipografias = array("JOKERMAN","OPIUM");

//directorio donde estén las fuentes (ruta absoluta) importante el último /
$tipografias_ruta "fuentes\\";
// $tipografias_ruta="/home/sito/public_html/fonts/"; linux

//inicializa eje X desde donde se empezará a dibujar el código (referente al tamaño de la caja)
$espacio 0;

//tamaño fuente.
$tamano_fuente 20;

//profundidad caracteres/digitos del código a generar (password).
$profundidad_codigo 6// (alfanuméricos)

//cálculo Ancho automático de la caja
$x=150;
$y=40;

//angulo máximo de inclinación
$angmax 20;

// Valores máximos de las lineas
$hori 50;
$verti 100;

// Iniciar la generación de la imagen. Se define una caja de $x por $y pixels.
$im imagecreate($x$y);

//definición Colores. Expresados en valores R G B (respectivamente).
$color_fondo imagecolorallocate($im255255255); // Blanco
$color_texto imagecolorallocate($im000); // Negro

for($caracter=0$caracter<$profundidad_codigo$caracter++){
    
$rhori rand(-$hori$hori);
    
$rverti rand(-$verti$verti);
    
// intento de lineas
    
$lineColor imagecolorallocate($im000);
    
imagefill($im00$color_fondo);
    
//imageline( imagen, separacion izq, separacion superior, largo, inclinacion)

    //linias horizontales
    
imageline($im0$rhori200$rhori$lineColor);
    
imageline($im0$rhori+20200$rhori+20$lineColor);
    
// linias verticales, necesito cambiar el primer valor aleatoriamente
    
imageline($im$rverti025700$lineColor);
    
imageline($im$rverti+20025700$lineColor);

}

for(
$caracter=0$caracter<$profundidad_codigo$caracter++){
  
//seleccion de una tipografía aleatoria.
  
$indice_aleatorio=array_rand($tipografias);
  
$tipografia=$tipografias_ruta.$tipografias[$indice_aleatorio].'.ttf';

  
//separación entre caracteres
  
$espacio +=$tamano_fuente;
  
//angulo aleatorio
  
$ang rand(-$angmax$angmax); 
  
//generar el caracter gráfico.
  //imagettftext($im, $tamano_fuente, 0, $espacio, $tamano_fuente, $color_texto, $tipografia , $codigo{$caracter});
  
imagefttext($im$tamano_fuente$ang$espacio30$color_texto$tipografia$codigo{$caracter});
  
}

//cabecera HTTP la cual indica al navegador que la imagen que estamos generando es .PNG
header('Content-type: image/png');

//genera un png dinámico
imagepng($im);
//destruye la imagen del servidor
imagedestroy($im);
?>
gen_codigo.php
Código PHP:
<?php
/*
FUNCION: GENERADOR DE CARACTERES ALEATORIOS
*/
function genera_password($longitud,$tipo="numerico"){

if (
$tipo=="alfanumerico"){
$exp_reg="[^A-Z0-9]";
} elseif (
$tipo=="numerico"){
$exp_reg="[^0-9]";
}

return 
substr(eregi_replace($exp_reg""md5(time())) .
eregi_replace($exp_reg""md5(time())) .
eregi_replace($exp_reg""md5(time())),
0$longitud);
}
?>
Y esta es la llamada desde mi formulario

Código PHP:
<strong>Imagen de Seguridad:</strong><br/>
                                <
div align="left" style="margin-bottom: 10px;"><img border="1" src="../includes/registro_user/gen_imagen.php"></div>
                                <
input id="captcha" name="security_code" type="text"/> 
Tengo la siguiente estructura

Raiz
carpeta = registro (contiene el formulario)
carpeta = includes/registro_user (contienen el generar numero, imagen y una carpeta con las fuentes)
  #6 (permalink)  
Antiguo 13/03/2008, 15:58
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 1 mes
Puntos: 78
Re: Captcha en local sí y en server no

Comprobaste todas las rutas ? que es eso de fuentes\\ ?? es windows el hosting ??
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #7 (permalink)  
Antiguo 13/03/2008, 16:02
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Re: Captcha en local sí y en server no

Cita:
Iniciado por elquique Ver Mensaje
Comprobaste todas las rutas ? que es eso de fuentes\\ ?? es windows el hosting ??
Uhm el hosting es linux xDDDD
  #8 (permalink)  
Antiguo 13/03/2008, 16:09
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Re: Captcha en local sí y en server no

Cita:
Iniciado por neodani Ver Mensaje
Uhm el hosting es linux xDDDD
He probado con la ruta absoluta

/public_html/web/includes/registro_user/fuentes/

y tampoco va

y con
/fuentes/

Tampoco

Ya no se que hacer...
  #9 (permalink)  
Antiguo 13/03/2008, 16:24
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Re: Captcha en local sí y en server no

Cita:
Iniciado por neodani Ver Mensaje
He probado con la ruta absoluta

/public_html/web/includes/registro_user/fuentes/

y tampoco va

y con
/fuentes/

Tampoco

Ya no se que hacer...
Joder... encontré el maldito fallo, la culpa de windows como no... el script me iba bien en local pq no diferenciaba mayusculas con minusculas

$tipografia=$tipografias_ruta.$tipografias[$indice_aleatorio].'.ttf';

Mis fuentes tenian una extension .TTF

Bufff menuda comida de cabeza

Muchas gracias elquique y shock_dude

Hasta otra xD
  #10 (permalink)  
Antiguo 13/03/2008, 16:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Captcha en local sí y en server no

La mejor forma de ver la ruta absoluta es que subas un archivo a tu carpeta de fuentes con esto:
Código PHP:
<?php
echo getcwd();
?>
Así podrás averiguar que ruta es la verdadera.

Saludos.
  #11 (permalink)  
Antiguo 13/03/2008, 16:40
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Re: Captcha en local sí y en server no

Cita:
Iniciado por GatorV Ver Mensaje
La mejor forma de ver la ruta absoluta es que subas un archivo a tu carpeta de fuentes con esto:
Código PHP:
<?php
echo getcwd();
?>
Así podrás averiguar que ruta es la verdadera.

Saludos.
Gracias GatorV

Muy interesante la herramienta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.