Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2012, 11:25
kurtjavier
 
Fecha de Ingreso: diciembre-2006
Mensajes: 213
Antigüedad: 17 años, 4 meses
Puntos: 0
Uploadify: Como usar ajax y php para buscar errores

Como estan muchachones tiempisimo sin crear nada en los foros. Bueno al grano.

Estoy usando el uploadify, que me aprece un excelente plugin la verdad, muy buena documentacion e implementacion, mis felicidades al creador o a los creadores. Solo tengo un pequeño detallito que me parece raro, estuve haciendo pruebas con el uploadify y funciona, pero me puse a hacer pruebas para la deteccion de errores y mi sorpresa es que no detecta errores :S, alguna mala configuracion mia o no se.

Probe las dos escenciales, cuando no puede escribir en el directorio de destino, y cuando el archvo existe, el problema es que a vista de uplaodify el archivo es cargado al servidor, en /tmp cierto, pero ya despues de alli se desentiende, no verifica si el archivo fue creado, si el directorio es escrbible, etc.

Mi pregutna es la siguiente, horita ando aprendiendo sobre ajax, para llamar a funciones en php que me retornen un valor, lo que necesito es que cuando comienza a cargar un archivo el uplaodify, necesito que llame a la funcion en php que me dira si puedo escribir en el directorio y si el destino existe, luego cuando se complete verificar que el archivo existe en el directorio. Para darles un ejemplo les coloco un codigo.

Las funciones en php serian simples, que de echo ya estan echas se pueden utilizar las ya creadas en php o hacer unas nuevas, supongamos unas nuevas solo por el ejemplo: funciones.php
Código PHP:

function FileExist($file)
{
    if(!
file_exists($file))
        return 
false;
    return 
true;
}

function 
DirectoryExist($dir)
{
    if(!
file_exists($dir))
        return 
false;
    return 
true;
}

function 
DirectoryPerms($dir)
{
    
//MAS CODIGO



Este seria un ejemplo de mi configuracion dle uploadify
Código Javascript:
Ver original
  1. $('#file_upload').uploadify(
  2.     {
  3.         'uploader'       : 'uploadify/uploadify.swf',
  4.         'script'         : 'uploadify/uploadify.php',
  5.         'cancelImg'      : 'uploadify/cancel.png',
  6.         'folder'         : folder,
  7.         'sizeLimit'   : 102400,
  8.         'removeCompleted' : false,
  9.         'auto'         : false,
  10.         'multi'          : true,
  11.         'queueSizeLimit' : 3,
  12.         'queueID'        : 'queue',
  13.         'wmode'       : 'opaque',
  14.         'displayData' : 'percentage',
  15.        
  16.         'onError'     : function (event,ID,fileObj,errorObj) {
  17.             alert(errorObj.type + ' Error: ' + errorObj.info);},
  18.        
  19.         'onComplete': function(event, ID, fileObj, response, data) {
  20.             /* AQUI IRIA EL CODIGO QUE LLAMA A LA FUNCION PHP
  21.             * PARA VERIFICAR QUE EL ARCHIVO CARGADO, FUE CARGADO
  22.             *  EXITOSAMENTE, O SEA LLAMARIA A LA FUNCION FileExist($ruta_archivo) */
  23.        },
  24.        
  25.        'onOpen'      : function(event,ID,fileObj) {
  26.             /* AQUI IRIA EL CODIGO QUE LLAMA A LA FUNCION PHP
  27.             * PARA VERIFICAR QUE EL DESTINO NO EXISTE Y QUE EL DIRECTORIO
  28.             *  SE PUEDA ESCRIBIR */
  29.        },
  30.        
  31.         'onSelectOnce'   : function(event,data) {
  32.             $('#status-message').text(data.filesSelected + ' Archivos han sido añadidos a la cola.');},
  33.        
  34.         'onAllComplete'  : function(event,data) {
  35.             $('#status-message').text(data.filesUploaded + ' Archivos cargados, ' + data.errors + ' Errores.');}
  36.     });

Aqui les dejo el codigo del php que carga el archivo. uploadify.php
Código PHP:
if (!empty($_FILES)) {
    
$tempFile $_FILES['Filedata']['tmp_name'];
    
$targetPath $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    
$targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
    
              
move_uploaded_file($tempFile,$targetFile);
              return 
str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);

Se que para ustedes esto es facil, quien me echa una manito.
__________________
Solo se que nada se . . . Nirvana: Un Sentimiento Echo Realidad.