From: | Sebastián Alexis Salazar Molina <sebastian(at)linuxchile(dot)cl> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda con Imagen en Campo Bytea y PHP |
Date: | 2007-01-06 17:53:12 |
Message-ID: | 200701061453.12174.sebastian@linuxchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Para poder trabajar con bytea en PHP, debes primero "escaparla", por ejemplo:
$arc = $_FILES["archivo"]["tmp_name"];
$size = $_FILES["archivo"]["size"];
$tipo = $_FILES["archivo"]["type"];
$nombre = basename($_FILES["archivo"]["name"]);
if (exif_imagetype($arc) != IMAGETYPE_JPEG) {
echo("Debe tener una imagen JPG para poder asociarla al profesor");
exit();
}
$fp = fopen($arc, "rb");
$contenido = fread($fp,$size);
fclose($fp);
$contenido = pg_escape_bytea($contenido);
$query = "INSERT INTO tabla VALUES(NEXTVAL('tabla_tabla_id_seq'),
$nombre','$tipo','$size','$contenido')";
y ahí la metes en tu tabla con la función que más te parezca.
Para mostrarla en una imagen, yo hago lo siguiente.
Genero un script llamado "imagen.php" y dentro de él coloco una función:
$sec = $_GET['sec'];
switch($sec) {
case "foto":
$vid = (int) $_GET['vid'];
foto($vid);
break;
}
function foto($vid) {
$conexion = dbconnect();
$sql = dbquery($conexion,"SELECT img FROM tabla WHERE
foto_id='$vid'");
header("Content-Type: image/jpeg");
$imagen = pg_unescape_bytea(pg_fetch_result($sql,'0',"img"));
echo("$imagen");
pg_free_result($sql);
pg_close($conexion);
}
Y donde quiero mostrar la imagen, uso, la etiqueta img de html:
<img src="imagen.php?sec=foto&vid=<?php //algun indice de fila (número) ?>"
alt="bla" />
El Sábado, 6 de Enero de 2007 12:55, Victor H. Pinto del Carpio escribió:
> Hola Amigos, tengo un problema y no se si me podrian
> ayudar con la solucion.
>
> Tengo una tabla con un campo bytea, en este campo
> inserte mediante una aplicación de escritorio una
> imagen, lo que no puedo hacer es extraer esa imgen
> hacia un web mediante php, los ejemplos que encontre
> trabajan con campos oid, es lo mismo que bytea el
> oid?, por que no me funcionan
>
> Si alguien podria ayudarme por favor.
>
>
>
> Saludos
>
> VICTOR H. PINTO DEL CARPIO
> JEFE DE DESARROLLO
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2007-01-06 19:56:05 | Re: sobre vacuum |
Previous Message | Jessie Cordoba | 2007-01-06 17:19:11 | desconectar usuarios |