The issue is with getting the tmp key. The $_FILES array looks like this: ( [forms] => Array ( [name] => Array ( [person_photo_passport] => Array ( [0] => Array ( [0] => Array ( [fields] => Array ( [image] => Array ( [file] => car_lights.JPG ) ) ) ) ) ) [type] => Array ( [person_photo_passport] => Array ( [0] => Array ( [0] => Array ( [fields] => Array ( [image] => Array ( [file] => image/jpeg ) ) ) ) ) ) [tmp_name] => Array ( [person_photo_passport] => Array ( [0] => Array ( [0] => Array ( [fields] => Array ( [image] => Array ( [file] => /tmp/phptS4g9J ) ) ) ) ) ) [error] => Array ( [person_photo_passport] => Array ( [0] => Array ( [0] => Array ( [fields] => Array ( [image] => Array ( [file] => 0 ) ) ) ) ) ) [size] => Array ( [person_photo_passport] => Array ( [0] => Array ( [0] => Array ( [fields] => Array ( [image] => Array ( [file] => 428726 ) ) ) ) ) ) )