Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-12-2005
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Comprender este codigo (es teoria pura y dura)

Bien, navegando por el google buscando soluciones para mostrar una imagen blob, tras investigar y hacer las pertinentes pruebas, he comprobado que el siguiente codigo funciona a la perfeccion:
Código PHP:
 /* Mandando las cabeceras de la imagen */
  
Header("Content-type: image/jpg");
  include(
"libreria_web.php");
 
/* Verificando la existencia de la imagen */
  
$query=("SELECT RESOURCE_ID, RESOURCE FROM RESOURCES");
  
$consulta=consulta_bd($query);
  while (
$fila ibase_fetch_object ($consulta))
    {
    
ibase_blob_echo($fila->RESOURCE);
    } 
Ahora vienen las preguntas.

¿Que es el HEADER? ¿Que funcion tiene exactamente? Es que no acabo de comprender su funcionamiento, si lo comento, deja de mostrarme la imagen.

Por otra parte, con esa consulta, solo me muestra 1 imagen de las 2 que hay que la tabla ¿por que? Si la ejecuto en el shell de SQL me devuelve las 2 celdas que hay en esa tabla con imagenes.


Si añado despues de ibase_blob_echo un "echo ($fila->RESOURCE_ID);"
no me lo muestra por pantalla.

De momento dejo de dar la brasa, y espero que me podais resolver estas dudas.

Gracias por leerlo y un saludete a tod@s.

Papulo.
Responder Con Cita
  #2  
Antiguo 20-12-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

NO soy el más indicado para explicar nada en este caso, por lo menos, pero, me atrevo a decir algo y aun algos al respecto:


Cita:
Empezado por papulo
¿Que es el HEADER? ¿Que funcion tiene exactamente? Es que no acabo de comprender su funcionamiento, si lo comento, deja de mostrarme la imagen.
Tiene que ver con el protocolo HTTP, si no estoy equivocado. Se trata de a "Header" o la "cabecera" que un Servidor de Internet manda al navegador y a este le sirve para X cosas. Por ejemplo, la cabecera que utilizas ahora está indicándole al navegador que ese documento es de tipo imagen: si la quitas no se lo estás diciendo y de ahí el problema.



Cita:
Empezado por papulo
Por otra parte, con esa consulta, solo me muestra 1 imagen de las 2 que hay que la tabla ¿por que? Si la ejecuto en el shell de SQL me devuelve las 2 celdas que hay en esa tabla con imagenes.
Bueno, esto ya no es atrevimiento, es meterme en camisas de once varas, como suele decirse. Me parece que todo funciona como se espera: no entiendo el bucle "while", o, por mejor decir, creo que al cabo solamente ves una imagen de las dos que hay porque la salida de la función "ibase_blob_echo" muestre primero una imagen y luego la otra, rápidamente, de forma que tú únicamente veas la última disponible. No sé. Dudo de este párrafo que ahora acabo.


Cita:
Empezado por papulo
Si añado despues de ibase_blob_echo un "echo ($fila->RESOURCE_ID);"
no me lo muestra por pantalla.
Creo que respecto a eso deberías escribir algo como:


Código PHP:
 echo $fila['RESOURCE_ID']; 
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 20-12-2005 a las 15:00:26. Razón: Corrección del formato del texto.
Responder Con Cita
  #3  
Antiguo 20-12-2005
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Hola

Lo primero y mas importante, te veo muy muy muy verde en php, y lo peor de todo es que no tienes ni siquiera un manual de PHP, lo digo porque no es lógico que preguntes que es "header" si tubieras un manual PHP.

Segundo, veo que no solo estas verde en PHP sino que también lo estas en programación, esto es mucho, ya que no entiendes realmente lo que estas haciendo y simplemente haces COPY/PASTE.

Por último, el código que has puesto no tiene ni pies ni cabeza, en principio solo se puede mostrar una imagen en una llamada este script, ¿porque? porque hay que mostrar la cabecera cada vez que se muestra una imagen y dicha cabecera se debe mostrar antes de nada. Por lo tanto si quieres mostrar varias imágenes tendrás que hacer varias llamadas a este script.

Código PHP:
/* Mandando las cabeceras de la imagen */
  
header("Content-type: image/jpg");
  
// Estaría bien que pusieras alguna que otra cabecera mas
  
header"Content-Length: ".$tamano );

  include(
"libreria_web.php");
/* Verificando la existencia de la imagen */
  
$query=("SELECT RESOURCE_ID, RESOURCE FROM RESOURCES WHERE ID=$X");
  
$consulta=consulta_bd($query);
   
ibase_blob_echo($fila->RESOURCE); 
No tengo ni idea de como van las funciones IBASE pero supongo que será algo parecido.

Tambien puedes utilizar las librerías GD para el tratamiento de imágenes.

El mejor consejo que te puedo dar es que te cojas algun manual de "metodología de la programación" y otro de "PHP".
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #4  
Antiguo 20-12-2005
Migpal Migpal is offline
Miembro
 
Registrado: jul 2005
Ubicación: Colombia
Posts: 91
Poder: 19
Migpal Va por buen camino
Que buen link, hay que aprender ha publicar preguntas en los foros.
Responder Con Cita
  #5  
Antiguo 21-12-2005
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Talking

Lo primero de todo, gracias DEC por responder, gracias Kayetano por el toque de atencion.

Segundo, estoy aprendiendo, aprendiendo de verdad, chino chano y hay multitud de cosas que no se, que no entiendo y que probablemente sean autenticas burradas al preguntarlas, pero aun asi, prefiero un toque de Kayetano, y que me encamine hacia donde me ha de encaminar, que simplemente callarme y tirar hacia adelante acumulando fallos de base. Me gusta esto de programar (aunque no lo haga nada bien ), pero quiero llegar a tener el mejor novel posible y pondre todo mi empeño en alcanzar esa meta.

Tercero, manuales tengo un par, siendo exactos son este y este,me los he leido de pe a pa, pero no hablan de los headers y el tema de los campos blob dentro de las bases de datos, por poner solo dos ejemplos de cosas que van apareciendo y no encuentro en estos manuales. Luego hay otros que he visto pero estan desfasados, o cosas similares.

De todas formas, Kayetano, estaria encantado de que me indicaras links que, dada tu experiencia, creas que son realmente importantes y aleccionadores, sobre PHP y metodologia de la programacion.

Estoy aqui para aprender todo lo posible y mas, asi que espero con ganas toda ayuda.

Un saludo.

Papulo.


EDITO:
Leyendo la ultima parte de tu respuesta (la de despues del correctivo ), veo que me dices que las imagenes las puedo motrar una a una, por lo que tendre que llamar a esa funcion cada vez que quiera mostrar una imagen. ¿Es correcto?

No tardes en responder, que estoy ansioso por saber que respondes a lo de los links .

Última edición por papulo fecha: 21-12-2005 a las 09:57:35.
Responder Con Cita
  #6  
Antiguo 21-12-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Papulo, mira si te sirve este enlace sobre php y campos blob
Responder Con Cita
  #7  
Antiguo 29-12-2005
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Talking

Como este hilo me parece muy, muy, muy, pero que muy, interesante, y como cn el titulo no me luci un pimiento, añado este POST con distintas palabras que puedan ayudar a encontrarlo cuando se realice una busqueda en el foro.

FIREBIRD, PHP, MOSTRAR, IMAGEN, IMAGENES, SEGURIDAD, CONSULTAR, INTERBASE.

A titulo personal, casi diria que me parece una buena idea y todo, ¡¡¡Feliz año a tod@s!!!
Responder Con Cita
  #8  
Antiguo 29-12-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.051
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por papulo
A titulo personal, casi diria que me parece una buena idea y todo, ¡¡¡Feliz año a tod@s!!!
gracias, y también para tí ¡¡¡Feliz año a tod@s!!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:34:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi