@VPank
Бессмертие ради знаний. Знания ради бессмертия.

Почему media_handle_upload возвращает WP_Error Object?

Есть объект $_FILES с таким содержимым
Array(    
    [upload] => Array (            
        [name] => Array (                    
            [0] => Array (
                [0] => QH5KSryzBHQ.jpg                        
            )                
        )            
        [type] => Array (
            [0] => Array (
                [0] => image/jpeg                        
            )   
        )            
        [tmp_name] => Array ( 
            [0] => Array (
                [0] => адресс к временному хранилищу\php9612.tmp  
            )
        )            
        [error] => Array (   
            [0] => Array (
                [0] => 0      
            )
        )  
        [size] => Array (
            [0] => Array (
                [0] => 626177
            )
        )  
    )
)

Эти данные используются так
foreach ( $_FILES as $file => $array ) {
    $newupload = media_handle_upload( $file, 0 );
}

в итоге media_handle_upload отдает
WP_Error Object(    
    [errors] => Array (
        [upload_error] => Array (
            [0] => Array (
                [0] => Array (
                    [0] => 0
                 )
             )
         )
    ) 
   [error_data] => Array (
    )
)

Я не вижу тут явной ошибки в чем может быть дело?
  • Вопрос задан
  • 494 просмотра
Решения вопроса 1
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
Ну потому, что не понятно, что надо загрузить.
1. Форма у вас как-то не так работает.
для мультифайла массив должен быть таким
Array(
    [upload] => Array (
        [name] => Array (
                [0] => QH5KSryzBHQ.jpg
        )
        [type] => Array (
                [0] => image/jpeg
        )
        [tmp_name] => Array (
            [0] => Array (
                [0] => адресс к временному хранилищу\php9612.tmp
            )
        )
        [error] => Array (
                [0] => 0
        )
        [size] => Array (
                [0] => 626177
        )
    )
)


ну и в цикле посмотрите что же вы передаете в media_handle_upload, а передаете туда фигню, а должны вот такое для одного файла.
[file] => Array (
        [name] => QH5KSryzBHQ.jpg
        [type]  => image/jpeg
        [tmp_name] => адресс к временному хранилищу\php9612.tmp
        [error] => 0
        [size]  => 626177
    )

php.net/manual/ru/reserved.variables.files.php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы