Проблема такова, скрипт отлично работает на локале, просто на ура. Суть скрипта - массовая загрузка изображений. PHP: <? foreach($_FILES as $key => $value) { echo "<pre>"; print_r($_FILES); echo "</pre>"; $shag++; $imageinfo = getimagesize($_FILES[$key]['tmp_name']); if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg') { echo "Sorry, we only accept GIF and JPEG images\n"; } if ($shag==1) { $img_name_clean = $_FILES[$key]['name']; $img_name_clean = str_replace (".img","",$img_name_clean); $img_name_clean = str_replace (".jpeg","",$img_name_clean); $img_name_clean = str_replace (".jpg","",$img_name_clean); $img_name_clean = str_replace (".gif","",$img_name_clean); $img_name_clean = str_replace (".JPG","",$img_name_clean); $img_name_clean = str_replace (".IMG","",$img_name_clean); $img_name_clean = str_replace (".GIF","",$img_name_clean); $img_name_clean = str_replace (".JPEG","",$img_name_clean); if(!file_exists("../foto/".$img_name_clean."/")){mkdir("../foto/".$img_name_clean."/", 0777); chmod('../foto/'.$img_name_clean, 0777);} } $uploaddir = '../foto/'.$img_name_clean.'/'; $uploadfile = $uploaddir . basename($_FILES[$key]['name']); $img_name = $_FILES[$key]['name']; echo $key; if (file_exists("../foto/".$img_name_clean."/".$img_name."")){echo "Внимание! Ошибка, в папке ".$img_name_clean." уже существует файл ".$img_name."! Пожалуста, переименуте загружаемый файл."; exit;} if (move_uploaded_file($_FILES[$key]['tmp_name'], $uploadfile)) { chmod('../foto/'.$img_name_clean.'/' . $img_name, 0666); echo "Файл ".$_FILES[$key]['name']." загружен в папку ".$img_name_clean.".\n<br>"; } else { echo "Файл ".$_FILES[$key]['name']." не загружен в папку ".$img_name_clean.".\n<br>";exit; } } ?> на хосте: первый файл загружает, а остальные выплевывает, говорит что не соответствуют условию if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg') { echo "Sorry, we only accept GIF and JPEG images\n"; } и не грузит... как порпавить? на denwerе все идеально летает
С какого перепугу оно должно работать? foreach($_FILES as $key => $value) http://www.php.ru/manual/features.file-upload.multiple.html
ну начнем с того, что это полностью рабочий скрипт, что вас здесь смутило? Проблема решилась, в JS который штамповал импуты типа файл, в передачи новому импуту были две кавычки, в которые сервер вставлял слешь и бил $_FILES вместо 2х массивов - на 3... короче проблема решена, можно закрывать
<input name="userfile[]" type="file" /> - N штук и при обработке $_FILES['userfile']['name'][0] $_FILES['userfile']['name'][1] ... $_FILES['userfile']['name'][N] Имхо, так проще. Настолько привык, что забыл что имя поля может быть уникальным и не на то грешил (( ЗЫ проверяй ошибки еще foreach($_FILES as $key => $value) { if( $value['error'] !=0 ){ echo "Ошибка при загрузке файла: ".$value['name']; continue; }