entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Problema usando dropzonejs y php para subir archivo al servidor

Buenas, estoy realizando una aplicación muy básica, que consta de un formulario usando dropzonejs.

El problema es con el archivo php que cuando intento recoger $_FILES, este dato viene vacío, es decir, nunca puedo subir el archivo al servidor que es lo que intento.

Os dejo el código PHP:

$upload_dir = './';
if(!empty($_FILES)) 
{ 
     $tempFile = $_FILES['file']['tmp_name'];//this is temporary server location

     // using DIRECTORY_SEPARATOR constant is a good practice, it makes your code portable.
     $uploadPath = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . $upload_dir . DIRECTORY_SEPARATOR;

     // Adding timestamp with image's name so that files with same name can be uploaded easily.
     $mainFile = $uploadPath.time().'-'. $_FILES['file']['name'];

     move_uploaded_file($tempFile,$mainFile);
     echo "Archivo subido";
}else{
    echo "Arvhivo no subido";
}

El formulario contiene lo siguiente:

<form action="subirDatos.php" id="fichero" name="fichero" class="dropzone" method="post" enctype="multipart/form-data">
                    <!--<input type="hidden" name="nombre-usuario" id="nombre-usuario" />
                    <input type="hidden" name="fecha-datos" id="fecha-datos" />
                    <input type="hidden" name="documento-datos" id="documento-datos" />-->
                </form><!-- /form -->

Ahora mismo esos inputs los tengo comentados, y el botón de formulario de submit está realizado con javascript y no está dentro del formulario.
Pero me manda correctamente al subirArchivo.php pero nunca lo sube.

Gracias!

1 Respuesta

0voto

Leonardo-Tadei Puntos227320

Hola daniel-realesharana,

para delimitar el problema, poné un INPUT de typo FILE en el formulario escrito a mano, para ver si te llega contenido en el vector $_FILES, con por ejempli var_dump($_FILES)

Si con el INPUT estático te llega, lo más probable es que el problema esté en la función JavaScript que envía el formulario. Si el problema está ahí, tendríamos que ver el código de envío en JavaScript para tratar de resolverlo.

Saludos cordiales!

0voto

danielreales7 comentado

La función de Javascript únicamente hace esto:

document.fichero.submit();

Voy a probar lo que me has dicho y te comento, lo que no entendí fue var_dump($_FILES) eso lo hago desde php para ver si me llegan datos no?

Gracias leonardo-tadei.

0voto

danielreales7 comentado

Ha funcionado a la perfección poniendo el input de tipo file! Muchísimas gracias por todo!!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta