Foros del Web » Programando para Internet » PHP »

Upload desde DB a una Carpeta?

Estas en el tema de Upload desde DB a una Carpeta? en el foro de PHP en Foros del Web. Hola chavos del forosdelweb Aqui solicitando su ayuda o cualquier aportacion.... Saben estoy guardando varios tipos de archivos en la DB entre ellos imagenes y ...
  #1 (permalink)  
Antiguo 27/09/2004, 11:55
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 20 años, 8 meses
Puntos: 1
Upload desde DB a una Carpeta?

Hola chavos del forosdelweb

Aqui solicitando su ayuda o cualquier aportacion....

Saben estoy guardando varios tipos de archivos en la DB entre ellos imagenes y documentos en pdf, surge la necesidad de respaldarlos no solamente en la DB, la idea es que pueda realizar un script para poder tomar cada uno de esos archivos que se encuentra en la DB y guardarlos en una carpeta del mismo servidor y para realizar un backup posteriormente.

Que puedo hacer, alguien me puede ayudar a abordar esta situacion, cualquier tipo de ayuda, ya sea documentacion y/o algun script para provar..


Bueno pues muchas gracias por su tiempo.
__________________
Kike Lee
Paz && Bien
  #2 (permalink)  
Antiguo 28/09/2004, 07:51
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
haces una select para sacar el fichero. Después abres un fichero en modo escritura con fopen y guardas el contenido del fichero sacado de mysql con fwrite.
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 28/09/2004, 12:06
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 20 años, 8 meses
Puntos: 1
No logro armar el script

Conceptualmente creo entender lo que me dices living pero no logro plasmarlo, a ver que puedo hacer, he estado probando esto es utilizando fwrite pero me manda un error

Código PHP:
 <?
    
// Me conecto a mi DB
    
$conexion=mysql_connect("localhost","user","pass") or die ("no se ha podido conectar a la BD");
    
mysql_select_db("gd") or die ("no se ha podido seleccionar la BD");
    
$sql "SELECT id, archivo_nombre,archivo_tipo,archivo_peso FROM archivos";
    
$consulta mysql_query($sql,$conexion);
    
$nombre_archivo mysql_result($consulta,0,"archivo_nombre");                                                    
    
$binario mysql_result($consulta,0,"archivo_peso");                                                   
 
    
// no se cual de las dos es la correcta pero con las dos aun manda el error
    // $contenido = $binario;
    
$contenido addslashes($binario);

   
// codigo del script que se encuentrra en php.net
  // Asegurarse primero de que el archivo existe y puede escribirse sobre el.
  
if (is_writable($nombre_archivo)) {

   
// En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adicion.
   // El apuntador de archivo se encuentra al final del archivo, asi que
   // alli es donde ira $contenido cuando llamemos fwrite().
   
if (!$gestor fopen($nombre_archivo'a')) {
         echo 
"No se puede abrir el archivo ($nombre_archivo)";
         exit;
   }

   
// Escribir $contenido a nuestro arcivo abierto.
   
if (fwrite($gestor$contenido) === FALSE) {
       echo 
"No se puede escribir al archivo ($nombre_archivo)";
       exit;
   }
  
   echo 
"&Eacute;xito, se escribi&oacute; ($contenido) al archivo ($nombre_archivo)";
  
   
fclose($gestor);
                  
} else {
   echo 
"No se puede escribir sobre el archivo $nombre_archivo";
}

?>
es ovio que algo esta mal, y creo que solo es para files type txt (no estoy seguro y/o realmente aun no entiendo como funciona ).

Se supone que esta funcion me permitiria de alguna forma mover y ponerlol en su nueva ubicacion (pensando que se obtiene el file de la DB y se deposita en su nueva ubicacion una carpeta x).

move_uploaded_file -- Mueve un archivo cargado a una nueva ubicación.

Perdon falto decir que aun no esta completo este script...

Bueno si me pueden ayudar a armar este script se los agradecere, cualquier información se los agradecere.
__________________
Kike Lee
Paz && Bien

Última edición por kikelee; 28/09/2004 a las 12:08
  #4 (permalink)  
Antiguo 28/09/2004, 14:18
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 20 años, 8 meses
Puntos: 1
Cambios:

Código PHP:
$conexion=mysql_connect("localhost","user","pass") or die ("no se ha podido conectar a la BD");
    
mysql_select_db("gd") or die ("no se ha podido seleccionar la BD");
    
$sql "SELECT id, archivo_nombre, archivo_tipo, archivo_peso, archivo_binario FROM archivos";
    
$consulta mysql_query($sql,$conexion);
    
$nombre_archivo mysql_result($consulta,0,"archivo_nombre");                                                    
    
$tamanio mysql_result($consulta,0,"archivo_peso");                                                    
    
$binario mysql_result($consulta,0,"archivo_binario");
     
// $binario = addslashes(mysql_result($consulta,0,"archivo_binario"));

// leo archivo del DB

$fp fopen($binario,'rb');
$archivo fread ($fpfilesize($tamanio));
// GUARDAS tu $archivo (variable)
$fp=fopen($nombre_archivo,'w');  // abrir archivo en modo binario "rb" ..
fwrite ($fp,$archivo); // escribir ...
fclose($fp); // cerrar archivo .. 
Creo que me habia equivocado

bueno con estoy voy de gane pero le falta aun, se crea el file en la carpeta deseada pero sin contenido, que me puede estar faltando....

el directorio tiene los permisos necesarios...

ademas de que me envia mensajes error:

Código PHP:
Warningfopen("ÿØÿà""rb") - No existe el fichero o el directorio in /var/www/html/dimagenes/guardar_disck.php on line fopen

Warning
stat failed for 97565 (errno=No existe el fichero o el directorioin /var/www/html/dimagenes/guardar_disck.php on line fread

Warning
fread(): supplied argument is not a valid File-Handle resource in /var/www/html/dimagenes/guardar_disck.php on line fread 

Bueno sigo abogando por que alguien me pueda ayudar, les agradesco sus atenciones, Gracias
__________________
Kike Lee
Paz && Bien
  #5 (permalink)  
Antiguo 28/09/2004, 16:02
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 20 años, 8 meses
Puntos: 1
Busqueda Agradecimientos

Hola

Tal vez no es la mejor solucion, pero me es funcional, espero que si alguien tiene algo mejor lo comparta, solo lo he probado con imegenes jpg no se si funcione con otro tipo de files, lo checare

Código PHP:
    $conexion=mysql_connect("localhost","user","pass") or die ("no se ha podido conectar a la BD");
    
mysql_select_db("gd") or die ("no se ha podido seleccionar la BD");

    
$sql "SELECT id, archivo_nombre,archivo_binario FROM archivos";

    
$consulta mysql_query($sql,$conexion);
    
$nombre_archivo mysql_result($consulta,0,"archivo_nombre");                                                    
    
$binario mysql_result($consulta,0,"archivo_binario");


// GUARDAS tu $archivo (variable)
$fp=fopen($nombre_archivo,'w');  // abrir archivo en modo binario "rb" ..
fwrite ($fp,$binario);
fclose($fp); // cerrar archivo .. 
Listo, agradesco tu comentario living fue de gran ayuda, no solo de los script vive un ph pero como ayudan je. Hasta muy pronto con alguna otra duda
__________________
Kike Lee
Paz && Bien
  #6 (permalink)  
Antiguo 29/09/2004, 00:50
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
Así lo hice yo pero es que no pude ponerte el código porque estaba en el trabajo y no en casa. Yo lo he probado con words y funciona
__________________
¿Te apasiona el mundo del guión? El portal del guión
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.
Respuesta




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