Je slaat je $imagename-variabele niet op in de $files-array, je stelt hem gewoon elke keer opnieuw in.
$files[$i][$k] = $v;
$imagename = $_POST['keyword'][$i];
Zou zoiets moeten zijn als:
$files[$i][$k] = array($v, $_POST['keyword'][$i]);
...
foreach ($files as $data) {
list($file, $imagename) = $data;
...
}