Foros del Web » Programando para Internet » PHP »

Upload masivo

Estas en el tema de Upload masivo en el foro de PHP en Foros del Web. Me gustaría que me sugiriérais propuestas para poder subir una gran cantidad de archivos de una sola vez (por parte del usuario). La idea que ...
  #1 (permalink)  
Antiguo 20/05/2004, 02:37
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 279
Antigüedad: 14 años, 1 mes
Puntos: 0
Upload masivo

Me gustaría que me sugiriérais propuestas para poder subir una gran cantidad de archivos de una sola vez (por parte del usuario).

La idea que se me ha ocurrido a mi es usar la librería zlib, leer un zip (así conseguiría poder subir varios archivos de una sola vez) , ir insertando los datos de los archivos en la base de datos y copiar los archivos del zip al directorio en el cual yo guarde mis archivos subidos. Ahora bien, aun no he probado hacer esto pero, por la configuración del php.ini del lugar en el que tengo que desarrollar ese pequeño script, no puedo usar en general ninguna librería que no venga por defecto activada nada más instalar php.

¿Sugerencias? Gracias.
__________________
por Pip
  #2 (permalink)  
Antiguo 20/05/2004, 07:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes classes (código puramente PHP) que implementan el algoritmo de compresión/descompresión de los Zip y otros compresores ..

Por ejemplo esta (en el mismo sitio tienes más):
http://www.phpclasses.org/browse/package/945.html

Así no depende de las extensiones instaladas en el servidor aunque el rendimiento de una "classe" vs "extensión" es menor (una extensión está compilada .. la "classe" se interpreta como cualquier otro código tuyo php).

Sólo un detalle .. según dice la classe comentada .. para crear/extraer Zip se necesita de las gzlib (extensiones) para los .tar parece que no .. Investiga por ese punto o busca alguna otra classe similar.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 20/05/2004 a las 07:48
  #3 (permalink)  
Antiguo 20/05/2004, 08:00
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 279
Antigüedad: 14 años, 1 mes
Puntos: 0
Tengo que reconocer que al principio no he entendido bien lo que me querías decir (no porque lo explicases mal sino porque no entendía el concepto de que, mediante classes, se pudiera conseguir lo mismo que con las extensiones).

Investigaré el tema y, aunque no consiguiera nada ya he aprendido algo nuevo, gracias

De todas maneras que no acaben aquí las ideas, si alguien piensa que puede haber algún otro método para el upload masivo de archivos, bien recibido será.
__________________
por Pip
  #4 (permalink)  
Antiguo 20/05/2004, 08:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Existen algunos ActiveX que permiten adjuntar más de un archivo simultanemanete tal cual sólo deja un campo "file" de HTML común (podrías repetir N "file" pero la selección del archivo sería uno-a-uno).. El "ActiveX" es el que le dá la "pasada" (autorización) al cliente para que pueda hacer esa acción. Requiere de instalación de ese ActiveX en el cliente (en cada navegador que lo use)

Por ejemplo (de usar google salió):
http://www.aurigma.com/Products/ImageUploader/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 20/05/2004 a las 08:23
  #5 (permalink)  
Antiguo 20/05/2004, 13:18
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 279
Antigüedad: 14 años, 1 mes
Puntos: 0
Aun no lo he probado aunque parece interesante, el mayor problema que presenta parece ser que el cliente tendría que tenerlo instalado, como tú mismo has dicho. Para nosotros que pretendemos conseguir el subir fácilmente varios archivos de una sola vez, puede resultar un pequeño inconveniente pero para los clientes o usuarios, especialmente si se da el caso de que estos sean muchos, puede ser una auténtica pega.

De todas maneras viene más que bien saber que existe algo así. No llegué a entender del todo bien el concepto, simplemente imagino que si puedes subir mediante un solo file varios archivos, es que al browsearlo, te permite seleccionar varios y si tu file se llama "archivo", tal vez los archivos los obtengas en la recarga de la web en un array de nombre archivo.

Leeré la web que pusiste, la verdad es que no se me ocurriría pensar que existe algo así, o sí pensarlo pero no encontrarlo.

Gracias de nuevo.
__________________
por Pip
  #6 (permalink)  
Antiguo 20/05/2004, 21:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Los ActiveX .. son objetos que incrustras y llamas desde HTML .. Su "virtud" en un entorno como el que nos movemos es que si el cliente notiene instalado dicho componente .. se le pide autorización para instalarlo de forma completamente automática (es más . .si el navegador de turno del cliente tiene activado el "instalar todo ActiveX que lo pida .." pues, ni se dará cuenta el usuario) El caso es "avisar" que para que pueda subir N archivos fáciment debe instalarlo (y le servirá para próximos usos de tu sitio/aplicación) .. y si no quiere ... le presentas la opción "uno a uno" con el campo file de HTML común. (así lo hace derremate.com creo recordar con un ActiveX similar).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 21/05/2004, 02:29
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 279
Antigüedad: 14 años, 1 mes
Puntos: 0
Voy a estar probando durante toda esta mañana, si consigo algo te lo dejaré escrito aquí y, si no, también.

Sé lo que son los ActiveX pero cuando estuve viendo Visual Basic no llegué a hacer ninguno ni sé demasiado bien cómo están hechos, solo cual es su finalidad.

Gracias por la información.
__________________
por Pip
  #8 (permalink)  
Antiguo 21/05/2004, 03:36
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 279
Antigüedad: 14 años, 1 mes
Puntos: 0
Estoy probando hacer lo que necesito con lo primero que me dijiste, una clase que implementa el algoritmo de compresión zip, tar, etc.

El problema que tengo es que no he tocado prácticamente la parte de php orientada a objetos y aunque no creo que haya que saber mucho para usar esto, no sé muy bien por donde empezar.

En el script que bajé (el que me dijiste que, aunque hubiese otros, al parecer ese se ajusta bien a lo que necesito) hay una parte comentada donde explican como usar algunas cosas, creo que un ejemplo práctico me valdría para entender como funciona, porque en el mismo comentario vienen ejemplos pero no los sé aplicar a la práctica.

Aquí una parte comentada del script:

/*------------------------------------------------------------
| To output files:
| $example->getdata();
| -returns file contents
|
| $example->filedownload($filename);
| -filename - the name to give the file that is being sent
|
| $example->filewrite($filename,$perms); // perms optional
| -filename - the name (including path) of the file to write
| -perms - permissions to give the file after it is written
+------------------------------------------------------------*/

Yo lo que he hecho es usar un zip que tengo en el mismo directorio que la página donde lo estoy probando y hacer un include de la página donde está esta clase.

Si puedes darme una pista te lo agradeceré.
__________________
por Pip
  #9 (permalink)  
Antiguo 21/05/2004, 03:57
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 279
Antigüedad: 14 años, 1 mes
Puntos: 0
Y ya que "sale" el tema de los objetos, si alguien conoce una web donde expliquen con buenos ejemplos y en castellano cómo funciona (a fondo) esto de los objetos en php, lo agradeceré, las webs como webestilo tienen manuales que pienso que son casi más teóricos que otra cosa.
__________________
por Pip
  #10 (permalink)  
Antiguo 21/05/2004, 14:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Creo que este tutorial sobre OOP te aclará las dudas de como por lo menos usar ese (y todos) los objetos que uses (classes denominan en PHP).

http://www.zonaphp.com/articulo1.php

Pero, .. recuerda que la OOP (Programación Orientada a Objetos) como "teoría" no depende de PHP, es más; el modelo de datos para OOP de PHP 4 no es del todo lo standar que lo implemetan otros lenguajes de programación como Java por ejemplo .. (PHP 5 ya se acercará más al modelo standard). Por eso, es recomendable que leas (si no lo conoces en general) sobre teoría de OOP por otro tipo de manuales para luego irte al tutorial que te mencioné y ver que es lo que puedes hacer con PHP y como se trabajaría con PHP en cuanto a OOP.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 21/05/2004, 15:34
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 279
Antigüedad: 14 años, 1 mes
Puntos: 0
Hola de nuevo Cluster.

No es que esto sea una conversación entre nosotros dos pero prácticamente podría serlo ya que hemos colaborado únicamente nosotros dos. Mirado desde fuera, pienso que este post puede ser interesante para alguien que, algún día, tenga la misma duda que tuve yo, no muy común pero tediosa si no sabes por donde caminar.

En cuanto al tema de conocer la programación orientada a objetos, he visto algo de Java, te puedo hacer una clase, sus variables miembro, sus constructores, sus métodos... y aquí, en php, intenté hacerme una clase simple, solo que no podía imprimir por pantalla nada de lo que hacía. Es evidente que no lo haría bien, como te digo no soy ningún experto. Pese a todo, dudo (quizás en esa dirección pueda despejar muchas de mis dudas, aun no he entrado pero ahora lo haré) en la manera en que se usan las clases, dudo si debo crear mis clases en un mismo archivo para después incluirlas en la página donde las quiera usar y si pueden convivir perfectamente la programación orientada a objetos con la imperativa.

Me pondré manos a la obra y te informaré de mis progresos o fracasos, gracias de nuevo.
__________________
por Pip
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 19:10.