I'm working on a plugin for wordpress and I want to be able to upload multiple pictures from a form. Right now when I have a form for two pictures and submit it empty, my $_FILES array looks like this:
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
)
)
)
Now the problem is that I want to use wordpress' upload handler, wp_handle_upload. It expects the $_FILES array as an argument, but only with one file. I guess it can only be two arrays deep, not three as mine is. So I'm wondering if there's a way to submit the files one at a time from the $_FILES array. The files have the same key in each array.
EDIT: Changed the post since I learned that the wp_handle_upload wants the $_FILES array as argument.
Try:
$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);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With