It's possible that there may be a setting in the .ini file that's causing it, but I don't know what that setting is... if there is one.
You say the files actually get uploaded, so it sounds like the error is happening on the last loop, when $_FILES['usrfile']['name']['$i'] != ""... or in other words, when that array offset is undefined.
I can think of a work around to the problem. Use the count() function to count the number of elements in the $_FILES['usrfile']['name'] array, and the use that number in the for loop. Like this:
$c = count($_FILES['usrfile']['name']);
for($i = 0; $i < $c; $i++) {
$usrfile_name = $_FILES['usrfile']['name'][$i];
$usrfile_tmp = $_FILES['usrfile']['tmp_name'][$i];
$location = "C:Program FilesApache GroupApachehtdocsusrfile.$usrfile_name";
move_uploaded_file ($usrfile_tmp, $location);
}
The count function tells you how many files there are, then just run the loop until $i is not less than $c. Since your first offset is '0', it will get all of the files by checking for "less than", rather than "less than or equal to".
Anyway, there might be a better way of doing it... like finding the real reason why you're getting that error. But this will at least get you around the problem.