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
$('#file_upload').uploadify( { 'uploader' : 'uploadify/uploadify.swf', 'script' : 'uploadify/uploadify.php', 'cancelImg' : 'uploadify/cancel.png', 'folder' : folder, 'sizeLimit' : 102400, 'removeCompleted' : false, 'auto' : false, 'multi' : true, 'queueSizeLimit' : 3, 'queueID' : 'queue', 'wmode' : 'opaque', 'displayData' : 'percentage', 'onError' : function (event,ID,fileObj,errorObj) { alert(errorObj.type + ' Error: ' + errorObj.info);}, 'onComplete': function(event, ID, fileObj, response, data) { /* AQUI IRIA EL CODIGO QUE LLAMA A LA FUNCION PHP * PARA VERIFICAR QUE EL ARCHIVO CARGADO, FUE CARGADO * EXITOSAMENTE, O SEA LLAMARIA A LA FUNCION FileExist($ruta_archivo) */ }, 'onOpen' : function(event,ID,fileObj) { /* AQUI IRIA EL CODIGO QUE LLAMA A LA FUNCION PHP * PARA VERIFICAR QUE EL DESTINO NO EXISTE Y QUE EL DIRECTORIO * SE PUEDA ESCRIBIR */ }, 'onSelectOnce' : function(event,data) { $('#status-message').text(data.filesSelected + ' Archivos han sido añadidos a la cola.');}, 'onAllComplete' : function(event,data) { $('#status-message').text(data.filesUploaded + ' Archivos cargados, ' + data.errors + ' Errores.');} });
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);
}