Pregunta

Estoy tratando de subir un archivo a través de un script PHP, pero mi matriz $ _FILES siempre está vacía. Mi entrada de datos $ _POST para el elemento de entrada HTML del archivo tiene el nombre de archivo ... Simplemente no se crea ningún archivo en mi sistema local.

He verificado el acceso de escritura a la carpeta temporal y la configuré explícitamente. Verifiqué phpinfo () para asegurarme de que las cargas de archivos estén habilitadas y que lo estén.

¿Qué podría estar evitando esto? ¿Mod_rewrite causaría algo?

¡Gracias!

¿Fue útil?

Solución

Cuando tiene el tipo correcto (<form method="post" enctype="multipart/form-data">), luego verifique la variable errno en $ _FILES, hay varias causas posibles para una falla. Lo típico es que se exceda MAX_FILE_SIZE.

http://php.net/manual/en/features. file-upload.errors.php

  

Desde PHP 4.2.0, PHP devuelve un   código de error apropiado junto con el   matriz de archivos El código de error puede ser   encontrado en el segmento de error del archivo   matriz que se crea durante el archivo   subir por PHP. En otras palabras, el   error se puede encontrar en   $ _FILES ['userfile'] ['error'].

     

UPLOAD_ERR_OK Valor: 0; No hay   error, el archivo cargado con éxito.

     

UPLOAD_ERR_INI_SIZE Valor: 1; los   el archivo cargado excede el   directiva upload_max_filesize en   php.ini.

     

UPLOAD_ERR_FORM_SIZE Valor: 2; los   el archivo cargado excede el   Directiva MAX_FILE_SIZE que era   especificado en el formulario HTML.

     

etc.

Otros consejos

¿Estás definiendo el enctype en tu formulario?

<form method="post" enctype="multipart/form-data">

No se cargará ningún archivo si no lo configura.

¿El formulario tiene el tipo correcto?

enctype="multipart/form-data"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top