Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Otros entornos y lenguajes > PHP
Register FAQ Members List Calendar Guía de estilo Today's Posts

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 20/12/2005
papulo's Avatar
papulo papulo is offline
Miembro
 
Join Date: Aug 2005
Location: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 21
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:
PHP Code:
 /* 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.
Reply With Quote
  #2  
Old 20/12/2005
dec's Avatar
dec dec is offline
Moderador
 
Join Date: Dec 2004
Location: Alcobendas, Madrid, España
Posts: 13,142
Poder: 36
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:


Quote:
Originally Posted by 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.



Quote:
Originally Posted by 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.


Quote:
Originally Posted by 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:


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

Last edited by dec : 20/12/2005 at 15:00. Reason: Corrección del formato del texto.
Reply With Quote
  #3  
Old 20/12/2005
[kayetano] kayetano is offline
Miembro Premium
 
Join Date: May 2003
Location: Elche
Posts: 644
Poder: 24
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.

PHP Code:
/* 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
Reply With Quote
  #4  
Old 20/12/2005
Migpal Migpal is offline
Miembro
 
Join Date: Jul 2005
Location: Colombia
Posts: 91
Poder: 22
Migpal Va por buen camino
Que buen link, hay que aprender ha publicar preguntas en los foros.
Reply With Quote
  #5  
Old 21/12/2005
papulo's Avatar
papulo papulo is offline
Miembro
 
Join Date: Aug 2005
Location: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 21
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 .

Last edited by papulo : 21/12/2005 at 09:57.
Reply With Quote
  #6  
Old 21/12/2005
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Papulo, mira si te sirve este enlace sobre php y campos blob
Reply With Quote
  #7  
Old 29/12/2005
papulo's Avatar
papulo papulo is offline
Miembro
 
Join Date: Aug 2005
Location: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 21
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!!!
Reply With Quote
  #8  
Old 29/12/2005
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Quote:
Originally Posted by 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!!!
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 01:52.


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