Foros del Web » Programando para Internet » PHP »

Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Estas en el tema de Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario) en el foro de PHP en Foros del Web. Cita: Iniciado por ing_aprendiz hola cluster gracias por tu tutorial la verdad jace rato que estaba buscando algo así, por otro lado puedes ayudarme con ...

  #361 (permalink)  
Antiguo 29/06/2006, 14:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Cita:
Iniciado por ing_aprendiz
hola cluster gracias por tu tutorial la verdad jace rato que estaba buscando algo así, por otro lado puedes ayudarme con lo siguiente: necesito pasar el valor de una variable en tes paginas me explico luego de registrar el proyecto pasas ese id a la pagina formulario.php (donde subo los archivos a la bd) y alli lo pasa pero tambien necesito que me la pase de formulario.php a insertar.php (para hacer el insert en la base de datos) pero no me lo pasa tu podrias decirme como hago esto.

gracias por tu ayuda y espero pronta respuesta
Usa variables de sesión .. (en las FAQ's tienes ejemplos .. también en www.php.net/session)

(si tienes más problemas al respecto .. expón tu pregunta en un tema nuevo .. eso ya no tiene nada que ver con este tema .. se te ayudará mejor si lo preguntas en un tema nuevo).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #362 (permalink)  
Antiguo 01/07/2006, 05:15
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 19 años, 7 meses
Puntos: 0
Cluster, me va a la perfeccion subir los archivos y un campo de texto. Pero a lo mejor da el caso que solamente quiero subir el texto y no el archivo que codigo tengo que quitar en insertar.php para que lo suba haga la funcion bien..

Tengo el codigo:

Código PHP:
<?php 
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción: 
// No se comprueba aqui si se ha subido correctamente. 
if (empty($_FILES['archivo']['name'])){ 
header("location: admin_soporte_detalles.php?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


//establece una conexión con la base de datos. 
$conexion mysql_connect("localhost","xxx","xxx") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("xxx",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca. 



// archivo temporal (ruta y nombre). 
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ; 

// leer del archvio temporal .. el binario subido. 
// "rb" para Windows .. Linux parece q con "r" sobra ... 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo. 
$binario_nombre=$_FILES['archivo']['name']; 
$binario_peso=$_FILES['archivo']['size']; 
$binario_tipo=$_FILES['archivo']['type']; 

//insertamos los datos en la BD. 
$consulta_insertar "INSERT INTO soporte (ticket,id,comentario_cliente,archivo_binario,archivo_nombre,archivo_peso,archivo_tipo,fecha) VALUES ('','$id','$comentario_cliente', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo',NOW())"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos."); 
header("location: $HTTP_REFERER");  // si ha ido todo bien 
exit; 
?>
Que lo inserta todo bien pero si le quito
Código PHP:
if (empty($_FILES['archivo']['name'])){ 
header("location: admin_soporte_detalles.php?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 

Me sale un error:
Código:
Warning: fread(): supplied argument is not a valid stream resource in /home/xxx/public_html/clientes/admin/admin_soporte_procesar.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/clientes/admin/admin_soporte_procesar.php:14) in /home/xxx/public_html/clientes/admin/admin_soporte_procesar.php on line 24
Habria alguna posibilidad en este script hacer eso?
  #363 (permalink)  
Antiguo 06/07/2006, 10:34
 
Fecha de Ingreso: julio-2006
Mensajes: 2
Antigüedad: 18 años, 5 meses
Puntos: 0
Exclamación se puede hacer lo mismo pero con archivos en flash??

holas me ayudo mucho el codigo,las imagens las puedo ver ,pero quisiera sabes si se puede acer lo mismo osea subir y mostrar archivos en flash para poder verlos en mi pagina,ya prove de todo y no puedooooo,ojala me puedan ayudar,gracias
  #364 (permalink)  
Antiguo 06/07/2006, 10:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Cita:
Iniciado por aldebarac77
holas me ayudo mucho el codigo,las imagens las puedo ver ,pero quisiera sabes si se puede acer lo mismo osea subir y mostrar archivos en flash para poder verlos en mi pagina,ya prove de todo y no puedooooo,ojala me puedan ayudar,gracias
En principio el código original de "ver.php" ajusta las cabeceras HTTP para indicar el tipo de imagen que es .. pero "imagen" .. para el caso de "flash" no sé como tratarlo .. entre otras cosas por qué si te fijas cuando tu incrustras una animación Flash en una página HTML usas cierto "<object>" el cual llama al "plug-in" que corresponda para ejecutar el .swf en cuestión ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #365 (permalink)  
Antiguo 06/07/2006, 10:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Raules

La validación del archivo (que se obliga que subió) se hacé en:
Código PHP:
if (empty($_FILES['archivo']['name'])){  
header("location: admin_soporte_detalles.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..  
exit;  

Deberías quitar esa validación (si no requieres como obligado tu archivo) .. pero tambien debes hacer un "if()" aquí:

Código PHP:
// leer del archvio temporal .. el binario subido.  
// "rb" para Windows .. Linux parece q con "r" sobra ...  
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 
Quedaría algo así:

Código PHP:
if (!empty($_FILES['archivo']['name'])){  
  
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal)));  
} else {
  
$binario_contenido=NULL;


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #366 (permalink)  
Antiguo 06/07/2006, 12:29
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 18 años, 5 meses
Puntos: 0
Problema para desplegar el cotenido del archivo

Un saludo.

Soy nueva en este foro y me parecen muy interesantes sus comentarios y sugerencias, el problema k tengo es k ejecuto los scripts de almacenar archivos PDF en mi BD hasta ahi todo esta bien, pero cuando los despliego me muestra puros simbolos, creo k me esta desplegando los datos en binario, agradeceria mucho su ayuda


esta es la forma en k lo despliego:


$qry = "SELECT tipo, contenido FROM archivos WHERE id=$id";
$res = mysql_query($qry);
$contenido = mysql_result($res, 0, "contenido");
$tipo = mysql_result($res, 0, "tipo");

header("Content-type: $tipo");
echo $contenido;
  #367 (permalink)  
Antiguo 06/07/2006, 12:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Usas sesiones en el script que hace la descarga? (session_start() ... etc)

Seguro que no hay ningún espacio ni salto de línea antes del <? ni al final del mismo ?> .. Eso puede probocar que las cabeceras HTTP no se estén enviando correctamente ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #368 (permalink)  
Antiguo 06/07/2006, 13:34
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 18 años, 5 meses
Puntos: 0
Sigo en problemas

No entiendo lo de las sesiones.....

Lo k hice fue realizar los scripts de acuerdo a como los muestras en el primer comentario de esta discusion " Subir archivos a tu BD (guardando en la BD en binario) " pero al momento de desplegarlos lo hace en forma de simbolos no lo decodifica a su formato original, espero puedas ayudarme.

Gracias por contestar....
  #369 (permalink)  
Antiguo 06/07/2006, 15:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Cita:
Iniciado por Prink
No entiendo lo de las sesiones.....

Lo k hice fue realizar los scripts de acuerdo a como los muestras en el primer comentario de esta discusion " Subir archivos a tu BD (guardando en la BD en binario) " pero al momento de desplegarlos lo hace en forma de simbolos no lo decodifica a su formato original, espero puedas ayudarme.

Gracias por contestar....
El tema de las sesinoes era una pregunta pues plantea problemas o puede hacerlo en determinados casos. Ya me corfimas que no usas sesiones (pues no sabes ni de que hablo ...).

Sobre el resto de problemas .. me tienes que cofirmar lo otro que te pedía (asegurarte de no tener espacios o salto de línea antes de <? ni despues de los ?> .. ) y si estás usando los scripts originales o les haz hecho modificaciones ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #370 (permalink)  
Antiguo 07/07/2006, 09:59
 
Fecha de Ingreso: julio-2006
Mensajes: 3
Antigüedad: 18 años, 5 meses
Puntos: 0
Ya lo soluciones

Me puse a leer en este foro y en contre algunas cosillas sobre cabeceras, por lo k el script k me muestra el mi documento es el siguiente:

$qry = "SELECT tipo, contenido, nombre FROM archivos WHERE id=$id";
$res = mysql_query($qry);
$contenido = mysql_result($res, 0, "contenido");
$tipo = mysql_result($res, 0, "tipo");
$nombre = mysql_result($res, 0, "nombre");
header("Content-type: application/$tipo");
header("Content-Disposition: attachment; filename=$nombre");
echo $contenido;

De esta forma me despliega mi archivo PDF k anteriormente habia sido guardado en mi BD.

excelente foro...
  #371 (permalink)  
Antiguo 07/07/2006, 11:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Cita:
Iniciado por Prink
Me puse a leer en este foro y en contre algunas cosillas sobre cabeceras, por lo k el script k me muestra el mi documento es el siguiente:

$qry = "SELECT tipo, contenido, nombre FROM archivos WHERE id=$id";
$res = mysql_query($qry);
$contenido = mysql_result($res, 0, "contenido");
$tipo = mysql_result($res, 0, "tipo");
$nombre = mysql_result($res, 0, "nombre");
header("Content-type: application/$tipo");
header("Content-Disposition: attachment; filename=$nombre");
echo $contenido;

De esta forma me despliega mi archivo PDF k anteriormente habia sido guardado en mi BD.

excelente foro...
Si, ... tienes razón. El script "demo" (ver.php) es bastante escueto en las cabeceras HTTP ..

De hecho hay muchas más cabeceras para definir propiedadesd del archivo que se visualiza o se entrega a descargar ..

Voy a modificar el código del tutorial para añadir la cabecera que mencionas .. eso sí voy hacerlo con "inline" en lugar de "attachment" para el caso de "ver.php" en concreto.

Por otro lado .. técnicamente (sengún el protocolo HTTP) y el dato que se guarda en archivo_tipo, deberías usar:

header("Content-type: $tipo");

Pues $tipo guarda el formato MIME del archivo ... Pruebalo y nos comentas.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #372 (permalink)  
Antiguo 11/07/2006, 09:54
 
Fecha de Ingreso: julio-2006
Mensajes: 2
Antigüedad: 18 años, 5 meses
Puntos: 0
holaas el codigo esta muy bien me funciona todo,pero quiero acer lo mismo con archivos flash,yo e subido la ruta de donde se encuentran mis archivos flash a una base de datos,pero ahora tengo elproblema de visualizarlos en mi pagina,en el html normal se llama a una imagen flash con esto: <object>...aqui va el nombre del archivo en flash y todo eso...</object>

en el php yo ago esto
<? $var="<object>......</object>";
//y luego lo muestro para q aparesca la imagen en flash
echo "$var";
?>

//pero me bota error,lo que pasa esq quiero seleccionar con un boton la imagen en flash q quiero visualizar en mi pagina,esta lelecion es atraves del codigo de imagen que se encuentra en la base de datos,ojala me entiendan,le agradeceia mucho
  #373 (permalink)  
Antiguo 11/07/2006, 10:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Cita:
Iniciado por aldebarac77
holaas el codigo esta muy bien me funciona todo,pero quiero acer lo mismo con archivos flash,yo e subido la ruta de donde se encuentran mis archivos flash a una base de datos,pero ahora tengo elproblema de visualizarlos en mi pagina,en el html normal se llama a una imagen flash con esto: <object>...aqui va el nombre del archivo en flash y todo eso...</object>

en el php yo ago esto
<? $var="<object>......</object>";
//y luego lo muestro para q aparesca la imagen en flash
echo "$var";
?>

//pero me bota error,lo que pasa esq quiero seleccionar con un boton la imagen en flash q quiero visualizar en mi pagina,esta lelecion es atraves del codigo de imagen que se encuentra en la base de datos,ojala me entiendan,le agradeceia mucho
La definición del objeto de HTML se referencia a nombres de archivos y archivos fisicamente en el servidor (no como "binarios" o "string" que vengan como es el caso de una BBDD) .. Tendrás que investigar otras técnicas (yo ahora mismo las desconzco).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #374 (permalink)  
Antiguo 14/07/2006, 09:06
 
Fecha de Ingreso: marzo-2004
Mensajes: 68
Antigüedad: 20 años, 8 meses
Puntos: 0
Hola, luego de leer las 13 paginas de este tutorial pregunto

Como puedo ( mejor dicho podemos ) modificarlo para subir las imagenes via FTP y que se inserten en la base de datos, asumo que el campo BLOB no se usa mas, y simplemente se linkea a la ubicacion de la imagen.

Alguien tiene idea de como hacerlo?

Gracias
  #375 (permalink)  
Antiguo 14/07/2006, 09:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Cita:
Iniciado por billbody
Hola, luego de leer las 13 paginas de este tutorial pregunto

Como puedo ( mejor dicho podemos ) modificarlo para subir las imagenes via FTP y que se inserten en la base de datos, asumo que el campo BLOB no se usa mas, y simplemente se linkea a la ubicacion de la imagen.

Alguien tiene idea de como hacerlo?

Gracias
En el foro se ha tratado mucho esa -otra- técnica .. Mejor dicho como hacer un upload de archivos por HTTP (no por FTP directo) con tu formulario HTML y campo "file" para dejar finalmente sólo la referencia del nombre del archivo en tus BBDD (no en "binario" como trata este tutorial concreto).

Te recomiendo que uses el buscador del foro o plantees tu duda en tu tema nuevo.

Lo que hace falta (para tu tema nuevo) es que concretes si realmente vas a subir tus archivos por un cliente FTP cualquiera (programa) o vas a usar un formulario HTML ("página") para tal fin .. Por que el conceto "FTP" se suele usar -mal- normalmente .. y confude lo que realmente deseas hacer.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #376 (permalink)  
Antiguo 14/07/2006, 09:29
 
Fecha de Ingreso: marzo-2004
Mensajes: 68
Antigüedad: 20 años, 8 meses
Puntos: 0
Pues lo mejor en mi caso seria subir las imagenes con un PROGRAMA DE FTP y que luego se "inserten" en la base de datos.
La tecnica para subirlas via form y guardar la referencia en la base de datos he logrado hacerlo.
Pero lo del ftp ni idea.
El concepto lo saque de un script ( white album ) que la usa.
Basicamente subis todo via ftp y luego via web scaneas los dir para armar la galeria
Pero si me recomendas que abra un nuevo tema lo hago, supongo que en el foro de mysql no?

Gracias y saludos
  #377 (permalink)  
Antiguo 12/11/2006, 09:55
Avatar de ortiz  
Fecha de Ingreso: septiembre-2004
Mensajes: 154
Antigüedad: 20 años, 3 meses
Puntos: 0
Planteando dudas

Hola

hace tiempo que seguí este excelente artículo sobre como subir archivos a una base de datos. Puedo decir que todo me funciona a la perfección, no obstante, tengo algunas dudas al respecto que me ha dejado el tiempo que llevo trabajando con este sistema:

1) El espacio: al subir archivos a la bd estamos liberando espacio físico de nuestro disco duro, normalmente de un servidor de hosting, ya que ese espacio va muy caro, lamentablemente. Pero, ¿al subir ese archivo a la bd, que espacio estamos ocupando del servidor?¿Menos espacio, igual? Es una duda que me ronda desde hace tiempo

2) Su operatividad: este script se puede usar para muchos fines. Imaginemos una web que tiene que mostrar imágenes, decenas de imágenes de muebles por ejemplo.

Si esta web tiene muchas visitas, cada vez que un usuario pida una imágen estamos haciendo una query a la bd. Esto, en entornos de pocas visitas no afecta, pero, ¿es operativo hacer una query por imagen en entornos de muchas visitas?

Bueno, espero que podáis arrojar un poco de luz sobre estas preguntas. Por todo lo demás, como siempre, gracias por contestar!

Saludos.
__________________
Juegos de Estrategia para PC - Warphammer.net :: Estrategia sólo en castellano
  #378 (permalink)  
Antiguo 12/11/2006, 14:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
1) Físicamente tu BBDD ocupa cierto espacio en el "disco duro" del servidor. Depende de tu proveedor, así que te cuantifica este espacio por separado o bien asume que el espacio total que te dán en tu plan contratado incluye el tamaño total (peso) que pueda tener tu BBDD.

2) .. No es tanto la "cantidad" de imagenes o archivos "binario" en general a manejar sino el peso total que todos esos datos sumen. Cualquier motor de BBDD a más tamaño de su BBDD más recursos del servidor requiere para manejarla.

3) Consultas a BBDD ya harás por otros médios y no es esto el problema. De hecho no sé que es peor .. un acceso al sistema de archivos para acceder a tu archivo o consulta a tu BBDD. En general, por supuesto una consulta a una BBDD requiere de más recursos y como decía antes todo va en función de las capacidades de tu servidor y de cuantos datos (bytes) tenga que manejar tu BBDD.

Para que te hagas una idea .. este foro (sin hablar o distingir si maneja imagenes en binario o "mucho texto plano") pesa como 3 Gbytes .. se hacen infinidad de consultas SQL cada vez que abres una página de este sitio con diferentes propósitos .. Como veras el sitio funciona bastante bien, eso sí .. una "Base de datos" (es Mysql lo que estos foros vBulletin usan) de estas características con este nivel de visitas constantes que recibe este sitio lo que requiere es de más sevidor (de hecho funcionan en un servidor dedicado o casi dedicado con 2 o 3 sitios más).

El tutorial que se presenta en este mensaje sólo expone una de las dos técnicas principales para gestionar "archivos binarios" en una BBDD. Son las características de tu aplicación, perspectivas de crecimiento, recursos del servidor .. etc, los que harán factive u "óptimo" usar esta técnica o bien usar la clasica y más "versatil" que suele ser la de gestionar en tu servidor los archivos en el sistema de archivos del servidor.

Usar al técnica que este tutorial presenta tiene sus ventajas, pero también sus desventajas, por eso es necesario evaluar cada proyecto en forma individual para irse por uno u otro método.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #379 (permalink)  
Antiguo 20/11/2006, 13:11
 
Fecha de Ingreso: noviembre-2006
Mensajes: 1
Antigüedad: 18 años, 1 mes
Puntos: 0
Pregunta Ayuda

Hola como estan, estoy manejando el codigo que esta en el foro, me suben bien los archivos a la Base de Datos pero en el momento de verlos no me aparecen, aparece un cuadro con una X roja.

Me prodrian ayudar por favor,necesito con urgencia que esto me funciones
  #380 (permalink)  
Antiguo 20/11/2006, 13:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Cita:
Iniciado por AndreaReyes Ver Mensaje
Hola como estan, estoy manejando el codigo que esta en el foro, me suben bien los archivos a la Base de Datos pero en el momento de verlos no me aparecen, aparece un cuadro con una X roja.

Me prodrian ayudar por favor,necesito con urgencia que esto me funciones
Sé que ya hay como 13 páginas de resultados y es complicado + tiempo estar viendo todos los mensajes de este tema .. pero realmetne lo que expones se ha tratado ya varias veces.

Debes hacer una série de procedimientos para identificar donde está el problema .. Lo primero no es quedarte mirando la "X" en tu navegador .. comienza viendo el código fuente HTML generado por la ejecución de tu página a ver si por ahí entre el HTML indicado ves algún mensaje de error ..

Según sea el mensaje de error que consigas ver .. así será su solución o tu problema concreto.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #381 (permalink)  
Antiguo 01/01/2007, 21:25
 
Fecha de Ingreso: febrero-2005
Mensajes: 626
Antigüedad: 19 años, 9 meses
Puntos: 10
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Hola No es por molestar, pero me da la impresion que mysql_fetch_row puede ser mas rapida que mysql_result, pero he tratado de hacer tu ejemplo con mysql_fetch_row o con mysql_fetch_assoc y no me funciona

o sera que mysql_result es el unico que sirve para Blobs binarios?
  #382 (permalink)  
Antiguo 02/01/2007, 18:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Cita:
Iniciado por August Ver Mensaje
Hola No es por molestar, pero me da la impresion que mysql_fetch_row puede ser mas rapida que mysql_result, pero he tratado de hacer tu ejemplo con mysql_fetch_row o con mysql_fetch_assoc y no me funciona

o sera que mysql_result es el unico que sirve para Blobs binarios?
Si dices que has probado algo y no te resulta, lo ideal es que indiques el código que usastes.

Usar mysql_result() o mysql_fetch_xxx() no sé que diferencia en tiempo de ejecución obtendrás (será cosa de que lo evalues tomando el tiempo de ejecución de tu script resultante con los mismos datos y con una muestra de intentos que hagas).

Cara a "Mysql" .. y su consulta SQL para obtener el dato almacenado en cierto registro/campo de una tabla .. dá igual su acceso. No es "obligatorio" usar mysql_result().

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #383 (permalink)  
Antiguo 07/01/2007, 02:45
 
Fecha de Ingreso: noviembre-2006
Ubicación: Salinas
Mensajes: 216
Antigüedad: 18 años
Puntos: 0
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Se puede utilizar ftp o algo parecido para cargar muchas imagenes a la base de datos?
  #384 (permalink)  
Antiguo 08/01/2007, 09:34
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 10 meses
Puntos: 6
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Cita:
Iniciado por *Arcangel* Ver Mensaje
Se puede utilizar ftp o algo parecido para cargar muchas imagenes a la base de datos?
no, imposible, tiene que ser atraves de algun de algun gestor dinamico como php, asp o cualquier otro lenguaje..pero puedes cargar las imagenes a un directorio de tu servidor con un ftp, eso si es posible, pero no a la base de datos

Saludos
__________________
www.dataautos.com
  #385 (permalink)  
Antiguo 08/01/2007, 12:10
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 9 meses
Puntos: 4
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Bueno ... como muchos otros usuarios; copie el código y le di para adelante. Veo que al final del primer post (donde se publica este código) hay correcciones (creo que dos) con sus correspondientes fechas y comentarios.
Y ... como muchos otros usuarios, no podía ver las imágenes publicadas ni por listar_imagenes.php ni por ver.php. Lógico, si no anda ver.php no anda listar... aparecian las tan sitadas cruces.

Leí hasta la pagina 5 de todo este post, tratando de no ser un gil mas de la lista, pero no pude encontrar una solución a mi problema. Unos decían que era problema del servidor, otro un problema de los headers ... yo no podía encontrar la maldita falla.

Y es que, a mi parecer, en ver.php hay un error. La sentencia de búsqueda MySql $sql especifica los campos archivo_binario, nombre_archivo y archivo_peso:
Código PHP:
$sql "SELECT archivo_mombre,archivo_binario,archivo_tipo FROM archivos WHERE id='".$_GET['id']."'"
sin embargo ... mas abajo se asigna a $peso el valor arrojado por la búsqueda con mysql_result con el parametro ['archivo_peso'].
Código PHP:
$peso mysql_result($consulta,0,"archivo_peso"); 
Si replanteamos la búsqueda con
Código PHP:
$sql "SELECT * FROM archivos WHERE id='".$_GET['id']."'"
la cosa funciona de maravillas, por lo menos, a mi.

No entiendo como este código le puede haber funcionado a la mayoría.
No se que tengo en mi configuración de mi servidor que hacer que esto a mi no me funcione.
__________________
| Cabeza De Raton |

Última edición por Calisco; 08/01/2007 a las 13:11
  #386 (permalink)  
Antiguo 08/01/2007, 13:04
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

tengo este problema nocacho que pueda ser soy nuevo en esto

Not Found
The requested URL /muestras/insertar.php was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.36 Server at www.rymchile.cl Port 80
  #387 (permalink)  
Antiguo 08/01/2007, 13:20
Avatar de Calisco  
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 732
Antigüedad: 20 años, 9 meses
Puntos: 4
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Parece que el servidor no encuentra el archivo insertar.php. Fijate si estas direccionando bien el action del formulario de envio.
__________________
| Cabeza De Raton |
  #388 (permalink)  
Antiguo 19/01/2007, 09:32
 
Fecha de Ingreso: enero-2005
Mensajes: 28
Antigüedad: 19 años, 10 meses
Puntos: 0
Sonrisa Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

muchisimas Gracias Por Ese Manual Tan Bien Explicado, No Sabe El Tiempo Que Me Ahorro , Quedo Muy Agradecido Por Eso , Funciona Muy Bien, Lo Adapte A Mis Necesidades Bye
  #389 (permalink)  
Antiguo 23/02/2007, 07:15
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Habria alguna posibilidad de este codigo en vez de enviar la imagen a la BD enviarla a la ftp (una carpeta) y la direccion url a la BD?

Que codigo abria que modificar e insertar en este?

Gracias
  #390 (permalink)  
Antiguo 22/05/2007, 10:14
 
Fecha de Ingreso: mayo-2007
Mensajes: 12
Antigüedad: 17 años, 7 meses
Puntos: 0
Exclamación Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

saludos a todos....

tengo varios dias peleando con estos codigos y pense ke lo habia logrado cuando encontre este tuto... pero cuando quiero ver el archivo ver.php el browser me da un error.

esto es en el browser:

/ver.php?id=1

este es el error:

--------------------------------------------
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/elinash/public_html/subir/ver.php on line 13

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/elinash/public_html/subir/ver.php on line 14

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/elinash/public_html/subir/ver.php on line 15

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/elinash/public_html/subir/ver.php on line 16

Warning: Cannot modify header information - headers already sent by (output started at /home/elinash/public_html/subir/ver.php:13) in /home/elinash/public_html/subir/ver.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /home/elinash/public_html/subir/ver.php:13) in /home/elinash/public_html/subir/ver.php on line 20

Warning: Cannot modify header information - headers already sent by (output started at /home/elinash/public_html/subir/ver.php:13) in /home/elinash/public_html/subir/ver.php on line 21
-------------------------------------------------------

mi archivo es este:

-------------------------------------------------------
<?php
if(isset($_GET['id'])) {

// you may have to modify login information for your database server:
$conexion=mysql_connect("localhost","mi_usuario"," mi_password") or die ("no se ha podido conectar a la BD");

mysql_select_db("mi_bd") or die ("no se ha podido seleccionar la BD");

$sql = "SELECT archivo_mombre,archivo_binario,archivo_tipo FROM archivos WHERE id='".$_GET['id']."'";

$consulta = mysql_query($sql,$conexion);

$datos = mysql_result($consulta,0,"archivo_binario");
$tipo = mysql_result($consulta,0,"archivo_tipo");
$nombre = mysql_result($consulta,0,"archivo_nombre");
$peso = mysql_result($consulta,0,"archivo_peso");


header("Content-type: $tipo");
header("Content-length: $peso");
header("Content-Disposition: inline; filename=$nombre");

echo $datos;

}
?>
-------------------------------------------------------

por favor... saquenme de esta, he perdido casi una semana en esto

gracais
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.
Tema Cerrado

SíEste tema le ha gustado a 44 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 16:05.