Вопрос: Почему не работает цикл в PHP?

Лучший ответ: Ошибка с формами, радио кнопки у вас на одной форме, а отправляете файл вы совсем через другую спс. тов. Дмитрий code<form action="functions.php" method="post">
  A4 <input type="radio" name="ans" value="ans1">
  A3 <input type="radio" name="ans" value="ans2"  /><br />
</form>
  
    <form method="post" enctype="multipart/form-data">
      <input type="file" name="file">
      <input type="submit" value="Datei herunterladen!">
    </form>
Надо сделать так примерноcode<form action="#" method="post" enctype="multipart/form-data">
            A4 <input required type="radio" name="ans" value="ans1">
            A3 <input type="radio" name="ans" value="ans2">
            <input type="file" name="file">
            <input type="submit" value="Загрузить">
        </form>
Проверяете условие, а потом объявляете переменную, естественно у вас условие не выполняется.codeif ($answer == "ans1") {
$answer = $_POST['ans'];
Надо сначала объявлять переменную, потом уж делать с ней что душе угодно. Но именно в данном случае в объявлении функции она не к месту. См. след. пункт. code$answer = $_POST['ans'];  	
if ($answer == "ans1") {
Как заметил Дмитрий так функции нельзя объявлятьcodeif ($answer == "ans1") {
$answer = $_POST['ans'];  	
     function make_upload($file){	
  // формируем уникальное имя картинки: случайное число и name
  $name = mt_rand(0, 10000) . $file['name'];
  copy($file['tmp_name'], 'Folder_A4_SW_EIN/' . $name); //ПАПКА ДОК
   return true;    
   }
}else{
    function make_upload($file){	
  // формируем уникальное имя картинки: случайное число и name
  $name = mt_rand(0, 10000) . $file['name'];
  copy($file['tmp_name'], 'img7/' . $name); //ПАПКА, КУДИ ПАДАЮТЬ ДОКУМЕНТИ
  }      
}
Вынесите название в отдельный аргументcodefunction make_upload($file, $folder)
{    
    // формируем путь + уникальное имя картинки
    $name = $folder . DIRECTORY_SEPARATOR . uniqid(true) . $file['name'];
    copy($file['tmp_name'], $name);
    return true;    
}UPD: рабочий г-но код<?php
    include_once('functions.php')
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Загрузить изображения на сервер</title>
    </head>
    <body>
        <form action="#" method="post" enctype="multipart/form-data">
            A4 <input required type="radio" name="ans" value="ans1">
            A3 <input type="radio" name="ans" value="ans2">
            <input type="file" name="file">
            <input type="submit" value="Загрузить">
        </form>
        <?php
        // если была произведена отправка формы
            if(isset($_FILES['file']))
            {
                // проверяем, можно ли загружать изображение
                $check = can_upload($_FILES['file']);

                if($check === true)
                {
                    $folder = $_POST['ans'] == 'ans1' ? 'Folder_A4_SW_EIN' : 'img7';
                    make_upload($_FILES['file'], $folder); // загружаем изображение на сервер
                    echo "<strong>Файл был успешно загружен!</strong>";
                }
                else
                {
                    // выводим сообщение об ошибке
                    echo "<strong>$check</strong>";  
                }
            }
        ?>
    </body>
</html><?php
    function can_upload($file)
    {
        // если имя пустое, значит файл не выбран
        if($file['name'] == '')
        return 'Вы не выбрали файл.';

        /* если размер файла 0, значит его не пропустили настройки 
        сервера из-за того, что он слишком большой */
        if($file['size'] == 0)
        return 'Файл слишком большой.';

        // разбиваем имя файла по точке и получаем массив
        $getMime = explode('.', $file['name']);
        
        // нас интересует последний элемент массива - расширение
        $mime = strtolower(end($getMime));
        
        // объявим массив допустимых расширений
        $types = array('jpg', 'png', 'gif', 'bmp', 'jpeg', 'pdf', 'ppt', 'ods', 'dotx', 'docx', 'doc');

        // если расширение не входит в список допустимых - return
        if(!in_array($mime, $types))
        return 'Недопустимый тип файла.';

        return true;
    }

    function make_upload($file, $folder)
    {    
        // формируем путь + уникальное имя картинки
        $name = $folder . DIRECTORY_SEPARATOR . uniqid(true) . $file['name'];
        copy($file['tmp_name'], $name);
        return true;    
    }

Худший ответ: Каждая форма работает отдельно. Объедините их в одну - и будут у вас одновременно доступны и $_POST['ans'], и $_FILES['file'].