Написал такой исходник
<?php
session_start();
require_once 'app_config.php';
require_once 'database_connect.php';
$user_id = $_SESSION['user_id'];
$path_error="album.php?error_msg=";
$upload_dir = "/Applications/MAMP/htdocs" . SITE_ROOT . "uploads/";
foreach ($_FILES['pic']['error'] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
is_uploaded_file($_FILES['pic']['tmp_name'][$key]) or error($path_error,"запрещенный запрос");
getimagesize($_FILES['pic']['tmp_name'][$key]) or error($path_error,"неверный формат изображения");
$now = time();
while (file_exists($upload_filename = $upload_dir . $now . '-' . $_FILES['pic']['name'][$key])){
$now++;
}
move_uploaded_file($_FILES['pic']['tmp_name'][$key], $upload_filename) or error($path_error,"ошибка загрузки");
$insert_sql = "INSERT INTO album (author_photo_id, path_photo) VALUES ('{$user_id}', '{$upload_filename}');";
mysql_query($insert_sql) or error($path_error,"ошибка сохранения");
}
else {
$php_errors = array(1 => 'Превышен макс. размер файла, указанный в php.ini',
2 => 'Превышен макс. размер файла(1Mb)',
3 => 'Была отправлена только часть файла',
4 => 'Файл для отправки не был выбран.');
error($path_error,$php_errors[$_FILES['pic']['error'][$key]]);
}
}
header("Location: album.php?succes_msg=фото загружены");
?>
Не могу понять, почему, если загружается несколько файлов и в одном с них ошибка, не грузятся остальные. Для разъяснения функции error прилагается
function error($path_error,$error){
header("Location:" . $path_error. "" .$error."");
exit;
}