Foros del Web » Programando para Internet » PHP »

Problemas con ImageTTFText();

Estas en el tema de Problemas con ImageTTFText(); en el foro de PHP en Foros del Web. Hola buen as tengo un pequeño problema, ya que en mi servidor local me funciona perfectamente, y al subirlo a mi servidor VPS me indica ...
  #1 (permalink)  
Antiguo 16/04/2012, 12:52
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Problemas con ImageTTFText();

Hola buen as tengo un pequeño problema, ya que en mi servidor local me funciona perfectamente, y al subirlo a mi servidor VPS me indica en mi LOG de errores:

Código PHP:
Uninitialized string offset6 in
/var/www/vhosts/xxxxx.com/subdomains/xx/httpdocs/estandar/genera_password.php 
on line 54
refererhttp://www.xx.com/index.php?a=contactarnos 
El script me viene de la linea 54:

Código PHP:
// Generar el caracter gráfico.
ImageTTFText ($im$tamano_fuente, -15$espacio$tamano_fuente,
$color_texto$tipografia $codigo{$caracter}); 
Todo el script:
Código PHP:
<? 
if ($_GET['pass'] !=""){
//recogemos el "texto" por el URL que enviamos a generar desde el link de imagen del HTML de nuestro formulario ... 
$codigo=$_GET['pass']; 

// Configuración. 

// Nombres tipografías a usar (sin extensión .ttf) 
$tipografias = array("georgiai"); 

// Directorio donde estén las fuentes .. (ruta absoluta) 
// (importante el último /o según corresponda. 
// (Las fuentes son True Type (.ttf) 


//$tipografias_ruta = "C:\WINDOWS\FONTS\\"; // Windows. 
$tipografias_ruta "../estandar/fonts/"// Windows. 


// $tipografias_ruta="/home/sito/public_html/fonts/"; // Linux (*NIX) 

// 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 30

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


// Rutina ... 

// Cálculo Ancho automático de la "caja" 

$x=$profundidad_codigo*$tamano_fuente
$y=$tamano_fuente

// Iniciar la generación de la imagen. Se define una "caja" de $x por $y pixels. 
$DIR "../estandar/digitos_control/fondo.png";
$im imagecreatefrompng ($DIR);   

// 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++){ 

// Seleccion de una tipografía aleatoria. 
$indice_aleatorio=array_rand($tipografias); 
$tipografia=$tipografias_ruta.$tipografias[$indice_aleatorio].".ttf"

// Generar el caracter gráfico. 
ImageTTFText ($im$tamano_fuente, -15$espacio$tamano_fuente$color_texto$tipografia $codigo{$caracter}); 

// Separación entre caracteres 
$espacio +=$tamano_fuente


// Cabecera HTTP. Indica al navegador que la imagen que estamos generando es .PNG 
header("Content-type: image/png"); 

// Generar Imagen (un .png Dinámico.) 
imagepng ($im); 
// Destruir imagen (de memoria .. va a ser enviada directamente al navegador). 
imagedestroy ($im); 
}
?>
El soporte técnico me indica:
Indicarle que debe de revisar la programacion de su web como diseñador de la misma y depurar su codigo, solo damos soporte del servidor.

Es problema del script? Si en mi servidor local me funciona bien y al subirlo al servidor VPS. me falla?

Muchisimas gracias.
Muchas gracias
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #2 (permalink)  
Antiguo 16/04/2012, 13:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con ImageTTFText();

Pues te esta diciendo que no existe ese offset en tu string, comprueba la variable $_GET['pass'] asegúrate que tenga contenido y este sea igual o tenga 6 posiciones, ya que el script es lo que te esta informando.

Saludos.
  #3 (permalink)  
Antiguo 16/04/2012, 13:26
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas con ImageTTFText();

La url es:
http://www.xx.com/estandar/genera_pa...hp?pass=de403d

Como se puede ver la variable $_GET['pass'] = de403d, y tiene 6 caracteres.
Al pulsar el boton derecho del ratón "Ver imagen" del thumbnails, ya que no la muestra, indica:

No se puede mostrar la imagen "http://www.xx.com/estandar/genera_password.php?pass=de403d" por que contiene errores.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #4 (permalink)  
Antiguo 16/04/2012, 14:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con ImageTTFText();

Este es tu problema, el string que pasas tiene 6 posiciones, pero son de 0 a 5, entonces tu for:
Código PHP:
Ver original
  1. // mal
  2. for ($caracter=0; $caracter<=$profundidad_codigo; $caracter++){  
  3. // bien
  4. for ($caracter=0; $caracter<$profundidad_codigo; $caracter++){

Saludos.
  #5 (permalink)  
Antiguo 16/04/2012, 22:41
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas con ImageTTFText();

Perfecto!!!!!! Muchísimas gracias eso quiere decir que me introducia 7 carácteres y no seis, realmente como el bucle lo hacie.

Muchísimas gracias GastorV
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

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 02:12.