elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Pregunta]: ¿Por qué no se crea la imagen por medio de PHP?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Por qué no se crea la imagen por medio de PHP?  (Leído 401 veces)
Leguim


Desconectado Desconectado

Mensajes: 643



Ver Perfil
[Pregunta]: ¿Por qué no se crea la imagen por medio de PHP?
« en: 24 Septiembre 2019, 05:55 am »

Buenas noches,
estaba creando mi propio sistema de captchas y después de ver en blogs y vídeos hice lo siguiente: (Todos al menos los contenidos que pude ver se hace el sistema creando una imagen con php)
El problema es que no me muestra ninguna imagen,, solamente se queda toda la pantalla (ventana de la pagina) en negro con un cuadrito chiquito en el medio con borde blanco.
Intente de 1001 formas pero me sigue mostrando eso:

Código
  1. // Crear una imagen de 100*30
  2. $im = imagecreate(100, 30);
  3.  
  4. // Fondo blanco y texto azul
  5. $fondo = imagecolorallocate($im, 255, 255, 255);
  6. $color_texto = imagecolorallocate($im, 0, 0, 255);
  7.  
  8. // Escribir la cadena en la parte superior izquierda
  9. imagestring($im, 5, 0, 0, 'Hello world!', $color_texto);
  10.  
  11. // Imprimir la imagen
  12. header('Content-type: image/png');
  13.  
  14. imagepng($im);
  15.  



Mod: Temas sobre PHP van al subforo de PHP.


« Última modificación: 24 Septiembre 2019, 11:36 am por #!drvy » En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.621



Ver Perfil
Re: [Pregunta]: ¿Por qué no se crea la imagen por medio de PHP?
« Respuesta #1 en: 24 Septiembre 2019, 07:01 am »

Saludos,

- Ese PHP genera los bytes de la imagen en sí, no deberías de tener ningún otro contenido en dicho PHP ya que ese contenido pasaría a formar parte de los bytes de la imagen y esta se corrompería.

- Lo que tienes que hacer es tratar y llamar a tu PHP generador de imágenes como si fuera una imagen, por ejemplo:

index.php
Código
  1. <p>Lorem ipsum dolor sit amet.</p>
  2. <img src="mi_imagen.php">
  3. <p>Consectetur adipisicing elit.</p>

mi_imagen.php
Código
  1. <?php
  2. // Crear una imagen de 100*30
  3. $im = imagecreate(100, 30);
  4.  
  5. // Fondo blanco y texto azul
  6. $fondo = imagecolorallocate($im, 255, 255, 255);
  7. $color_texto = imagecolorallocate($im, 0, 0, 255);
  8.  
  9. // Escribir la cadena en la parte superior izquierda
  10. imagestring($im, 4, 0, 0, 'Hello world!', $color_texto);
  11.  
  12. // Imprimir la imagen
  13. header('Content-type: image/png');
  14.  
  15. imagepng($im);
  16. ?>


En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.634



Ver Perfil WWW
Re: [Pregunta]: ¿Por qué no se crea la imagen por medio de PHP?
« Respuesta #2 en: 24 Septiembre 2019, 12:20 pm »

Cuando quieras debugear algo (ver los logs e intentar saber porque no funciona), recuerda que PHP tiene logs y tiene errores en pantalla.

Si imprimes phpinfo() verás donde se guarda el log de errores. Si imprimes en pantalla puedes verlos directamente según van sucediendo. En este caso, ves solo un recuadro pequeño porque ya le has pasado el header de contenido (content-type) y el navegador intenta renderizar una imagen, pero si quitas esa linea (13), podrás ver el código de la imagen y los posibles errores que se han generado.


Saludos
En línea

Leguim


Desconectado Desconectado

Mensajes: 643



Ver Perfil
Re: [Pregunta]: ¿Por qué no se crea la imagen por medio de PHP?
« Respuesta #3 en: 24 Septiembre 2019, 17:49 pm »

Gracias a los dos por responder,
EdePC: si ya lo había intentado así poniendo el src del archivo php, pero igual te muestra esa imagen cuando no encuentra la foto.

Dryv: Hice eso y me aparece esto:
Código
  1. &#65533;PNG  IHDRd&#65533;&#65533;)&#65533;PLTE&#65533;&#65533;&#65533;&#65533;x&#65533;<&#65533; pHYs&#65533;&#65533;&#65533;+dIDAT&#65533;c` f&#65533;c&#65533;&#65533;dyl&#65533;&O&#65533;&#65533;&#65533;&#65533;3O&#65533;=&#65533; &#65533;&#65533;&#1624;&#65533;&#65533;y&#65533;&#65533;H&#65533;&#1752;y &#65533;s&#65533;x &#65533;&#65533;z^2&#1008; &#65533;&#65533;&#985;&#65533;>y~&#65533;&#65533;&#65533;3*&#65533;f&#65533;(&#65533;M"~c&#65533;IEND&#65533;B`&#65533;
  2.  

Voy a pasar estas dos capturas mejor:

Esta es sin el header


Y este vendría hacer lo del cuadro negro:


MOD: Imagenes ajustadas a lo permitido.
« Última modificación: 25 Septiembre 2019, 19:22 pm por MCKSys Argentina » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DriveImage XML 2.20:Crea una imagen de tu sistema para restaurarla en caso de...
Noticias
wolfbcn 0 2,609 Último mensaje 21 Diciembre 2010, 14:29 pm
por wolfbcn
FD_SET en Linux (pregunta de nivel medio-alto)
Programación General
Stroncio 4 3,681 Último mensaje 24 Enero 2011, 02:12 am
por Stroncio
Pregunta sobre grado medio de electronica
Foro Libre
crazykenny 5 1,017 Último mensaje 16 Junio 2014, 01:13 am
por Oblivi0n
[Pregunta]: Ejecutar función PHP por medio de AJAX
Desarrollo Web
Leguim 2 673 Último mensaje 14 Febrero 2019, 03:01 am
por Leguim
[Pregunta]: Evitar el re-envio de datos por medio de AJAX
Desarrollo Web
Leguim 4 764 Último mensaje 28 Junio 2019, 10:21 am
por xiruko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines