Intereting Posts

PHP – загрузка нескольких файлов

Я работаю над плагином для wordpress, и я хочу иметь возможность загружать несколько изображений из формы. Прямо сейчас, когда у меня есть форма для двух изображений и отправьте ее пустой, мой массив $ _FILES выглядит следующим образом:

Array ( [image] => Array ( [name] => Array ( [1] => [2] => ) [type] => Array ( [1] => [2] => ) [tmp_name] => Array ( [1] => [2] => ) [error] => Array ( [1] => 4 [2] => 4 ) [size] => Array ( [1] => 0 [2] => 0 ) ) ) 

Теперь проблема в том, что я хочу использовать wordpress 'upload handler, wp_handle_upload. Он ожидает массив $ _FILES в качестве аргумента, но только с одним файлом. Думаю, это могут быть только две массивы в глубину, а не три, как у меня. Поэтому мне интересно, есть ли способ отправить файлы по одному из массива $ _FILES. Файлы имеют один и тот же ключ в каждом массиве.

EDIT: изменил сообщение, так как я узнал, что wp_handle_upload хочет использовать массив $ _FILES в качестве аргумента.

Пытаться:

 $files = $_FILES['image']; foreach ($files['name'] as $key => $value) { if ($files['name'][$key]) { $file = array( 'name' => $files['name'][$key], 'type' => $files['type'][$key], 'tmp_name' => $files['tmp_name'][$key], 'error' => $files['error'][$key], 'size' => $files['size'][$key] ); wp_handle_upload($file); } } 

Не могли бы вы пройти через массив файлов, а затем вызвать upload_handlers?

например

 for( $i = 1; $i <= count( $_FILES['image']['name']; $i++ ) { // just cguessing on the args wp_handle_upload takes wp_handle_upload( $_FILES['images']['tmp'][$i], $_FILES['images']['name'][$i] ); }