Estoy usando Redactor.js como editor WYSIWYG del panel de administrador de una plataforma.
Tengo un problema con la subida de archivos (imágenes) mediante Drag & Drop.
Lo tengo montado así, por que no siempre quiero permitir la subida de imagenes:
Código:
Y el archivo php para tratar las subidas es:$('.redactor').each(function(){ if($(this).hasClass("redactorImages")){ $(this).redactor({ imageUpload: '../uploader.php', lang: 'es', imageGetJson: '../uploader.php?action=viewfiles' }); }else{ $(this).redactor({ "lang": 'es'}); } });
Código PHP:
<?php
$folder="/prueba/e-img/";
if(isset($_FILES['file'])){
include_once("/classes/class.multimedia.php");
$multimedia=new imagen();
$foto=$_FILES["file"]['name'];
$file=$_FILES["file"];
$resultado=$multimedia->upload($file, '900', '400', false, $folder);
if($resultado!==false ){
echo '{"filelink":"'.$folder.$resultado["nombrecompleto"].'"}';
}else{
// Error
}
}
if(isset($_GET["action"])){
if($_GET["action"]=="viewfiles"){
$cont=0;
echo "[";
$ruta = $folder;
$filehandle = opendir($ruta);
while ($file = readdir($filehandle)) {
if ($file != "." && $file != ".." && ! is_dir($ruta.$file)) {
if($cont!=0){
echo ",";
}
$cont++;
echo '{"thumb": "'.$folder.'th/'.$file.'", "image": "'.$folder.''.$file.'"}
';
}
}
closedir($filehandle);
echo "]";
}
}
?>
La obtención de imágenes del servidor mediante JSON para ser incrustadas funciona a la perfección.
La subida de archivo mediante el input type="file" de redactor tambien funciona, pero la subida mediante Drag & Drop no.
Resulta que en el upload.php la variable $_FILES está vacía.
No existe una configuración diferenciada para el envío de archivos mediante formulario o mediante Drag & Drop, asi que no tengo ni idea de como solucionarlo.
¿Le ha ocurrido a alguien? ¿Teneis idea de que puede estar pasando? Si os interesa puedo publicar tambien las cabeceras de la llamada al upload.php pero de primeras no quería meter todo ese tocho.
Bueno, perdón por la parrafada y a ver que opináis.