Error "Archivo especificado falló la prueba de carga" al subir imagen desde front-end

22 may 2013, 10:40:02
Vistas: 13.5K
Votos: 2

Este es mi código:

$file_return = wp_handle_upload($_FILES['my-photo'], array('test_form' => FALSE));

if(isset($file_return['error']) || isset($file_return['upload_error_handler'])) {
    echo "Y entonces falló...";
    print_r($file_return);
    die;
}

¿Por qué no se sube al directorio de uploads y por qué muestra el error "Specified file failed upload test."?

0
Todas las respuestas a la pregunta 3
2

Consulta la documentación de wp_handle_upload
Necesitas incluir el archivo file.php antes de llamar a wp_handle_upload

require_once( ABSPATH . 'wp-admin/includes/file.php' )

22 may 2013 10:55:43
Comentarios

Estoy haciendo eso y este es el error que estoy recibiendo: El archivo especificado falló la prueba de carga.

Pi Lover Pi Lover
22 may 2013 11:00:32

tu código funciona bien. ¿Has usado enctype="multipart/form-data" en los atributos de tu formulario?

Sumit Sumit
22 may 2013 12:13:08
1

Verifica si ya existe un archivo con el mismo nombre cargado. Yo estaba recibiendo el mismo error debido a que el nombre del archivo ya existía.

25 mar 2017 14:50:21
Comentarios

No puedo creer y aún no entiendo por qué cambiar el nombre del input lo arregló.

Steve Moretz Steve Moretz
11 nov 2021 23:33:02
0

La función wp_handle_upload intenta leer los datos del archivo desde la dimensión más baja del array proporcionado. Por ejemplo: $file['tmp_name']. Por lo tanto, si la información está en una capa secundaria del array (como $file['my-photo']['image']), no encontrará el índice esperado y generará un aviso en tu registro, como este:

PHP Notice: Undefined index: tmp_name

Y fallará la prueba de subida. Revisa tu registro de errores en busca de advertencias. También, consulta el código fuente del método para tu mensaje de error, esto podría ayudarte mucho: https://developer.wordpress.org/reference/functions/_wp_handle_upload/#source (línea #792).

19 dic 2018 13:31:23