Foros del Web » Programando para Internet » Jquery »

Retornar valor de php a Jquery ( Uploadify )

Estas en el tema de Retornar valor de php a Jquery ( Uploadify ) en el foro de Jquery en Foros del Web. Hola, cómo vamos? Una duda entre Uploadfy y php Resulta que con Uploadfy puedo subir n cantidad de archivos. Hasta ahí todo va bien. Ahora ...
  #1 (permalink)  
Antiguo 05/01/2010, 00:03
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 13 años, 6 meses
Puntos: 70
Retornar valor de php a Jquery ( Uploadify )

Hola, cómo vamos?

Una duda entre Uploadfy y php

Resulta que con Uploadfy puedo subir n cantidad de archivos. Hasta ahí todo va bien.

Ahora lo que necesitaría es retornar los archivos subidos por parte de php. Esto es lo que intenté y no funciona

Disculpen lo extenso:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.     $("#uploadify").uploadify({
  4.         'uploader'       : 'scripts/uploadify.swf',
  5.         'script'         : 'scripts/uploadify.php',
  6.         'cancelImg'      : 'cancel.png',
  7.         'folder'         : 'uploads',
  8.         'queueID'        : 'fileQueue',
  9.         'auto'           : true,
  10.         'multi'          : true,
  11.         'onSelect': function() {
  12.                 $('#uploadify').fileUploadStart();
  13.                 },
  14.                 'onProgress': function() {
  15.                 $('#info').html('Pere...');
  16.                 },
  17.                 'onAllComplete': function(data) {
  18.                 $('#info').html(data);
  19.                 },
  20.         'displayData': 'speed',
  21.         'simUploadLimit': 100
  22.     });
  23. });
  24. </script>

Código HTML:
Ver original
  1. <input type="file" name="uploadify" id="uploadify" />
  2. <p id="info"></p>

El php que sube:

Código PHP:
Ver original
  1. <?php
  2. //... bla bla
  3. move_uploaded_file($tempFile,$targetFile);
  4. $data = $_FILES['Filedata']['name'];
  5. echo $data;
  6. ?>

Creo, creo, en mi ignorancia, que onAllComplete no retorna echos? Es que no sé...

Los archivos los sube bien, el proceso 'onProgress' funciona correctamente, pero el que falla es el 'onAllComplete'

Disculpen lo extenso

Gracias de antemano
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #2 (permalink)  
Antiguo 05/01/2010, 03:09
 
Fecha de Ingreso: diciembre-2009
Mensajes: 72
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Retornar valor de php a Jquery ( Uploadify )

esque este archivo php del uploadify lo que hace es copiar los archivos a la carpeta que tu quieras marcar...lo que puedes hacer es crearte un fichero php y llamarlo en onAllComplete..y en este recorres la carpeta y muestras los ficheros ...
  #3 (permalink)  
Antiguo 05/01/2010, 04:50
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 10 años, 2 meses
Puntos: 65
Respuesta: Retornar valor de php a Jquery ( Uploadify )

onAllComplete te devuelve un objeto data que contiene algunos datos de la transacción:

Código HTML:
'onAllComplete': function(event, data) {
         alert("files Uploaded: "+data.filesUploaded+" errors: "+data.errors+" Bytes Loaded: "+data.allBytesLoaded +" speed: "+data.speed);
      	}
en la doc esta:

Cita:
onAllComplete

A function that triggers when all file uploads have completed. There is no default event handler.

Two arguments are sent to the function:
event: The event object.
data: An object containing details about the upload process.

* filesUploaded – The total number of files uploaded
* errors – The total number of errors while uploading
* allBytesLoaded – The total number of bytes uploaded
* speed – The average speed of all uploaded files
fijate que onComplete tiene un objeto que te devuelve info sobre el archivo subido, como el nombre, tamaño, etc
  #4 (permalink)  
Antiguo 06/01/2010, 16:10
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 13 años, 6 meses
Puntos: 70
Respuesta: Retornar valor de php a Jquery ( Uploadify )

Gracias por sus respuestas

Dany_s modifiqué mi código según lo que me enviaste y guiándome por la documentación ( no me había fijado en los parámetros de las funciones) y logré que me trajera el nombre de los archivos...

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.     var texto = '';
  4.     var cadena = '';
  5.     $("#uploadify").uploadify({
  6.         'uploader'       : 'scripts/uploadify.swf',
  7.         'script'         : 'scripts/uploadify.php',
  8.         'cancelImg'      : 'cancel.png',
  9.         'folder'         : 'uploads',
  10.         'queueID'        : 'fileQueue',
  11.         'auto'           : true,
  12.         'multi'          : true,
  13.         'onSelect'       : function() {
  14.             $('#uploadify').fileUploadStart();
  15.         },
  16.         /*'onProgress'     : function() {
  17.             $('#info').html('Pere...');
  18.         },*/
  19.         'onComplete'    : function(event, a, b, response, data) {
  20.             texto=texto+b.name+',';
  21.         },
  22.         'onAllComplete'  : function(event, d) {
  23.             cadena=texto.substr(0,texto.length-1);
  24.             var arrayMysArchivos = cadena.split(',');
  25.             for(i=0;i<arrayMysArchivos.length;i++){
  26.                 //alert(arrayMysArchivos[i]);
  27.                 //$('#infoArchiv').html('<div id="archivo'+i+'"><p>'+arrayMysArchivos[i]+'</p></div>');
  28.                 $('#infoArchiv').html('<p>'+arrayMysArchivos[i]+'</p>');
  29.             }
  30.             $('#infoSubida').html("<p>Numero de archivos subidos: "+d.filesUploaded+"</p><p>errors: "+d.errors+"</p><p>Bytes Loaded: "+d.allBytesLoaded +"</p><p>speed: "+d.speed+'</p>');
  31.           },
  32.         'displayData': 'speed',
  33.         'simUploadLimit': 100
  34.     });
  35. });
  36. </script>

Bien, ahora me resultó un problema que no sé a que se pueda deber Si se fijan hago un for para imprimir los archivos. En mi lógica debería imprimir así:

Código HTML:
Ver original
  1. <div id="infoArchiv"><p>archivo...</p><p>archivo...</p>....</div>
  2. <br />
  3. <div id="infoSubida"></div>

Pero no lo imprime así :( Sobrepone los nombres de los archivos y no los muestra uno debajo del otro, por consiguiente sólo se ve impreso el último nombre.

Me doy cuenta que el for lo hace bien porque el alert que tengo dentro de dicho ciclo se ejecuta como es. El problema es el html que no se ejecuta como debería ejecutarse...

Saludos y de nuevo gracias!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #5 (permalink)  
Antiguo 06/01/2010, 16:23
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 13 años, 6 meses
Puntos: 70
Respuesta: Retornar valor de php a Jquery ( Uploadify )

Ya ya lo logré...

El código queda así:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.     var texto = '';
  4.     var cadena = '';
  5.     $("#uploadify").uploadify({
  6.         'uploader'       : 'scripts/uploadify.swf',
  7.         'script'         : 'scripts/uploadify.php',
  8.         'cancelImg'      : 'cancel.png',
  9.         'folder'         : 'uploads',
  10.         'queueID'        : 'fileQueue',
  11.         'auto'           : true,
  12.         'multi'          : true,
  13.         'onSelect'       : function() {
  14.             $('#uploadify').fileUploadStart();
  15.         },
  16.         /*'onProgress'     : function() {
  17.             $('#info').html('Pere...');
  18.         },*/
  19.         'onComplete'    : function(event, a, b, response, data) {
  20.             texto=texto+'<p>'+b.name+'</p>';
  21.         },
  22.         'onAllComplete'  : function(event, d) {
  23.             //cadena=texto.substr(0,texto.length-1);
  24.             //var arrayMysArchivos = cadena.split(',');
  25.             /*for(i=0;i<arrayMysArchivos.length;i++){
  26.                 alert(arrayMysArchivos[i]);
  27.                 //$('#infoArchiv').html('<div id="archivo'+i+'"><p>'+arrayMysArchivos[i]+'</p></div>');
  28.                 //$('#infoArchiv').html('<p>'+arrayMysArchivos[i]+'</p>');
  29.             }*/
  30.             $('#infoArchiv').html(texto);
  31.             $('#infoSubida').html("<p>Numero de archivos subidos: "+d.filesUploaded+"</p><p>errors: "+d.errors+"</p><p>Bytes Loaded: "+d.allBytesLoaded +"</p><p>speed: "+d.speed+'</p>');
  32.         },
  33.         'displayData': 'speed',
  34.         'simUploadLimit': 100
  35.     });
  36. });
  37. </script>
  38.  
  39. Gracias!!!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 07/01/2010, 04:33
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 10 años, 2 meses
Puntos: 65
Respuesta: Retornar valor de php a Jquery ( Uploadify )

esta bien que guardes como cadena en una variable pero no te funcionaba con html porque reemplaza el contenido, para agregar al final puedes usar append() o para agregar al principio prepend() por ahi te sirve en un futuro

Etiquetas: php, uploadify
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:03.