Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Un poco de luz con Uploadify

Estas en el tema de Un poco de luz con Uploadify en el foro de Frameworks JS en Foros del Web. A ver, os comento, ya me tiene un poco frita el bicho este, y tengo la obligación de implementarlo, porque es la mejor solución para ...
  #1 (permalink)  
Antiguo 16/06/2011, 10:20
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 14 años, 8 meses
Puntos: 1
Un poco de luz con Uploadify

A ver, os comento, ya me tiene un poco frita el bicho este, y tengo la obligación de implementarlo, porque es la mejor solución para lo que necesito.

El caso es que me hace bien la subida al directorio y todo eso, hasta ahí todo genial, pero necesito recuperar los nombres de los ficheros que se han subido para poder renombrarles y además, si la susodicha persona, no ha subido ninguna foto, no dejarla avanzar con el proceso de registro, al menos, una foto es obligatoria, me supongo que esta segunda parte será lo de menos (si consigo renombrar las fotos) pero por más vueltas que he dado por san google, por aquí y demás tutoriales, no consigo ver la luz.

Entonces, yo creo que tengo dos opciones, según se terminen de subir con el onAllComplete redirigir a otra página y recorrer el fichero, pero tengo que guardar el resto de variables del formulario para que no se las coma, lo cual no me parece práctico.

O según le doi a enviar el formulario, comprobar que hay imagenes y hacer el tratamiento, con una función creada previamente, pero esto es lo que he intentado pero al mostrar el array con var_dump($_POST), var_dump($_FILES) o var_dump($_POST['file_upload']) me da que el fichero esta vacío esto lo hago al validar el resto del formulario, todo en la misma página

Así que ya no se por donde tirar, a ver si alguien me puede ayudar :/

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.  
  3.         numeroFicheros=0;
  4.         var fichero = new Array();
  5.  
  6.       $('#file_upload').uploadify({
  7.     'uploader'  : 'uploadify/uploadify.swf',
  8.     'script'    : 'uploadify/uploadify.php',
  9.     'cancelImg' : 'uploadify/cancel.png',
  10.     'folder'    : 'uploadify/uploads/',
  11.         'buttonText': 'Sube tus fotos',
  12.     'queueSizeLimit' : 10,
  13.     'removeCompleted' : false,
  14.     'multi'     : true,
  15.     'auto'      : true,
  16.     'scriptData': { 'id': <?echo $idf?>},
  17.     'sizeLimit' : 1048576,
  18.         'fileExt'     : '*.jpg',
  19.  
  20.         onAllComplete : function(event, data){
  21.             for(i=(numeroFicheros-1);i>=0;i--){
  22.                 alert('3 '+i+'--> Fichero: '+fichero[i]);
  23.             };
  24.             document.location=('imagenesRegistro.php?id=<?echo $idf?>');
  25.     },
  26.         onComplete  : function(event, ID, fileObj, response, data) {
  27.             if(data.fileCount>numeroFicheros){
  28.                 numeroFicheros=data.fileCount+1
  29.                 alert('1 Subidos: '+numeroFicheros);
  30.             };
  31.             fichero[data.fileCount]=[fileObj['name']];
  32.             alert('subir fichero: '+data.fileCount+' nombre: '+fileObj['name']);
  33.         }
  34.         });
  35.     });
  #2 (permalink)  
Antiguo 16/06/2011, 17:36
Avatar de livemusic  
Fecha de Ingreso: abril-2011
Ubicación: Lima - Chorrillos
Mensajes: 150
Antigüedad: 13 años
Puntos: 18
Respuesta: Un poco de luz con Uploadify

jajajaj pase por lo mismo y llegue a desarrollar esto espero y te ayude.


Código Javascript:
Ver original
  1. $(function(){
  2.    
  3. //  $('#files').empty();
  4.    
  5.     $('#file_upload').uploadify({
  6.         'uploader'    : 'js/uploadify/uploadify.swf',
  7.         'script'      : 'js/uploadify/uploadifyiu.php',
  8.         'multi'       : true,
  9.         'auto'        : true,
  10.         'height'      : '32',
  11.         'width'       : '189',
  12.         'sizeLimit'   : '46080',
  13.         'buttonImg'   : 'js/uploadify/img/browse.png',
  14.         'cancelImg'   : 'js/uploadify/img/cancel.png',
  15.         'folder'      : 'img/uploads',
  16.         'fileExt'     : '*.jpg',
  17.         'fileDesc'    : 'Seleccione imagenes (.jpg)',
  18.         'onComplete'  : function(event, queueID, fileObj, response) {
  19.             $.ajax({
  20.                 type: "GET",
  21.                 url: "ajax.php?pag=uploadImage",
  22.                 data: {nameFile:fileObj.name},
  23.                 dataType: "html",
  24.                 success: function(msg){
  25.                     if(parseInt(msg)!=0){
  26.                             $('<li></li>').appendTo('#uploadImg').html('<img src="img/uploads/'+fileObj.name+'" />');
  27.                     }
  28.                 }
  29.             });
  30.         }
  31.     });
  32.    
  33. });


//////////////////////////
//Una ves completado la carga, envio los valores para ser guardados al servidor
onComplete:
--> ajax.php?pag=uploadImage

// Envio el nombre del fichero
--> nameFile:fileObj.name

// Muestro el fichero subido al servidor
--> $('<li></li>').appendTo('#uploadImg').html('<img src="img/uploads/'+fileObj.name+'" />');

-----------------------------------------------------------------------------------------------------------------------
//Codigo PHP

case "uploadImage":
$rutFile = $_REQUEST['nameFile'];
$uploadImage = new UploadImage($rutFile);
$uploadImage->InsertImage();
break;


Espero y te apueda ayudar a los menos a darte una idea,, Saludos SUERTE ¡¡

Última edición por livemusic; 16/06/2011 a las 17:44
  #3 (permalink)  
Antiguo 17/06/2011, 04:25
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Un poco de luz con Uploadify

Al final si que lo he conseguido hacer \o/ asi me ha quedado el codigo

Código PHP:
/*COMPROBACION SI SE HA SUBIDO UNA FOTO*/
$ruta="uploadify/uploads/".$idf."/";
if(
$dh opendir($ruta)){
    echo 
"<br>DH TRUE: ".$dh;
    while ((
$file readdir($dh))){
        if(
$file!="."&&$file!=".."&&$file!="Thumbs.db"){
            echo 
"<br>FICHERO: ".$file;
            
$noimagen="";
            break;
        }else{
            
$noimagen="error";
            }
        }

Código Javascript:
Ver original
  1. $('#file_upload').uploadify({
  2.             'uploader'    : 'uploadify/uploadify.swf',
  3.             'script'      : 'uploadify/uploadify.php',
  4.             'multi'       : true,
  5.             'auto'        : true,
  6.             'queueSizeLimit' : 10,
  7.         'removeCompleted' : false,
  8.             'sizeLimit'   : '1048576',
  9.             'buttonText': 'Sube tus fotos',
  10.             'cancelImg'   : 'uploadify/cancel.png',
  11.             'folder'      : 'uploadify/uploads/<?echo $idf?>/',
  12.             'fileExt'     : '*.jpg',
  13.             'fileDesc'    : 'Sube tus fotos (.jpg)',
  14.             'onComplete'  : function(event, queueID, fileObj, response, data) {
  15.                     $("#destino").load("recibe.php", {
  16.                         fichero: fileObj.name,
  17.                         pos: data.fileCount,
  18.                         id: <?echo $idf?>
  19.                     })
  20.             }/*on complete*/
  21.         });

Código HTML:
Ver original
  1.     <div style='color:white;'id='destino'></div>
  2. </body>

RECIBE.PHP

Código PHP:
<script>alert('<?echo $_POST['pos'];?>: <img src="uploadify/uploads/<?echo $_POST['id'];?>/<?echo $_POST['fichero'];?>"/>');</script>

<?
$imagen
=$_POST['fichero'];
$path='uploadify/uploads/'.$_POST['id'];
    
$original imagecreatefromjpeg($path.'/'.$imagen);
    
$ancho imagesx($original);
    
$alto imagesy($original);
    if (
$ancho $alto) {
        
$thumb imagecreatetruecolor(14590);
        
imagecopyresampled($thumb$original000014590$ancho$alto);
    } else {
        
$thumb imagecreatetruecolor(145200);
        
imagecopyresampled($thumb$original0000145200$ancho$alto);
    }
    
$tipo substr($imagen, -4);
    
$th $path .'/'$_POST['id'] . '-' $_POST['pos'] . '-th' .  $tipo;
    
imagejpeg($thumb$th90); // 90 es la calidad de compresión
    
rename($path .'/'$imagen$path .'/'.$_POST['id']. '-' $_POST['pos'] . $tipo);
?>
<?
echo $_POST['pos'];?>: <img src="<?echo $th;?>"/>
Espero que a alguien le pueda servir de ayuda
  #4 (permalink)  
Antiguo 17/06/2011, 04:26
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Un poco de luz con Uploadify

me mostraste la luz livemusic

Etiquetas: luz, 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




La zona horaria es GMT -6. Ahora son las 15:33.