День добрый.
Помогите, пожалуйста, разобраться с логикой многоуровнего if - else.
Есть код загрузки картинок на сервер + пути в базу.
Многочисленные проверки работают и всю грузиться куда надо, если проходит проверки. Но вот текст ошибки по проверке размера фаила в Кб не выдаётся, а выдается ошибка по пикселям. Хотя фаил большого чем надо размера не пропускает. В общем хочу понять почему не выдаёт ошибку по размеру.

Заранее спасибо.
PHP код:
//коннектимся к базе
$max_image_width = 150;
$max_image_height = 301;
$max_image_width2 = 801;
$max_image_height2 = 1001;
$max_image_size = 20 * 1024;
$max_image_size2 = 200 * 1024;
$valid_types = array("gif","jpg", "png", "jpeg", "JPG", "JPEG", "GIF", "PNG");
if($post=="Y")
{
// Каталог, в который мы будем принимать файл:
$uploaddir1 = 'files/';
$filename = $_FILES['image_path1']['name'];
$filename_1 = $_FILES['image_path2']['name'];
if (eregi("[а-яА-Я]", $filename) || eregi("[а-яА-Я]", $filename_1))
{
$error_1="<b>Ошибка:</b> <font color=#FF0000>В имени фаила не должно быть русских букв.</font>";
}
else
{
//генерируем новые имена
$add=rand(1,10).rand(5,20).rand(3,40).rand(1,100);
$name=substr($filename, 0, strrpos($filename, "."));
$name_hex=bin2hex($name);
$add2=rand(1,10).rand(5,20).rand(3,40).rand(1,100);
$name2=substr($filename_1, 0, strrpos($filename_1, "."));
$name_hex2=bin2hex($name2);
$ext = substr($filename, 1 + strrpos($filename, "."));
$ext2 = substr($filename_1, 1 + strrpos($filename_1, "."));
$filename2 = $_FILES['image_path1']['tmp_name'];
$filename2_2 = $_FILES['image_path2']['tmp_name'];
if (strrpos($filename, ".") > 8 && strrpos($filename_1, ".") > 8)
{
$error_2="<b>Ошибка:</b> <font color=#FF0000>Слишком длинное имя фаила. Допустимо 8 символов до точки.</font>";
}
else
{
$image_path1 = $uploaddir1.basename($add.'_'.$name_hex.'.'.$ext);
$image_path2 = $uploaddir1.basename($add2.'_'.$name_hex2.'.'.$ext2);
//вот что-то здесь не так
[B]if (filesize($filename2) > $max_image_size || filesize($filename2_2) > $max_image_size2)
{
$error_3="<b>Ошибка:</b> <font color=#FF0000Размер фаила слишком большой. Допустимо не более 20Kб для фото-миниатюры и 200Кб для полной фотографии.</font>";[/B] }
elseif (!in_array($ext, $valid_types) || !in_array($ext2, $valid_types))
{
$error_4="<b>Ошибка:</b> <font color=#FF0000>Неправильный тип фаила. Допустимо (jpg, jpeg) или фаил не указан.</font>";
}
else
{
$size = GetImageSize($filename2);
$size2 = GetImageSize($filename2_2);
if (($size) && ($size[0] == $max_image_width) && ($size[1] < $max_image_height) && ($size2) && ($size2[0] < $max_image_width2) && ($size2[1] < $max_image_height2))
{
// Копируем файл из каталога для временного хранения файлов:
if (copy($filename2, $image_path1) && copy($filename2_2, $image_path2))
{
//грузим в базу данные и путь
}
else $error_5="<b>Ошибка:</b> <font color=#FF0000>Не удалось загрузить файл на сервер!</font>";
}
else $error_6="<b>Ошибка:</b> <font color=#FF0000>Размеры картинки слишком большие. Для фото-миниатюры ширина = 150px, высота максимально - 300px, для полной фотографии ширина максимально 800px, высота максимально - 1000px.</font>";
}
}
}
}
echo $error_1;
echo $error_2;
echo $error_3;
echo $error_4;
echo $error_5;
echo $error_6;
?>
<form action="<? $PHP_SELF; ?>" method="post" enctype=multipart/form-data>
<input type="hidden" name="post" value="Y">
<input type="hidden" name="MAX_FILE_SIZE" value="200000">
....
<input type="file" name="image_path1" value="<? echo $image_path1; ?>" size=26>
<input type="file" name="image_path2" value="<? echo $image_path2; ?>" size=26
...
<input type="submit" value="Добавить">
</form>
//закрываем коннект к базе