Контакты
Местоположение
Россия

Достижения

Все достижения (5)

Наибольший вклад в теги

Все теги (147)

Лучшие ответы пользователя

Все ответы (313)
  • Кто как защищает от пиратства свое видео?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Самый лучший способ защиты - не выкладывать в интернет.
    Ответ написан
  • Как преобразовать строку '[1,2,3,4]' в массив?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    var array = JSON.parse('[{"name":"user_ce820531","lvl":1,"time":"1:54"},{"name":"user_ce820531","lvl":1,"time":"1:07"}]');
    Ответ написан
  • Почему не работает цикл в PHP?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Ошибка с формами, радио кнопки у вас на одной форме, а отправляете файл вы совсем через другую спс. тов. Дмитрий
    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>


    Проверяете условие, а потом объявляете переменную, естественно у вас условие не выполняется.
    code
    if ($answer == "ans1") {
    $answer = $_POST['ans'];

    Надо сначала объявлять переменную, потом уж делать с ней что душе угодно. Но именно в данном случае в объявлении функции она не к месту. См. след. пункт.
    code
    $answer = $_POST['ans'];  	
    if ($answer == "ans1") {

    Как заметил Дмитрий так функции нельзя объявлять
    code
    if ($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); //ПАПКА, КУДИ ПАДАЮТЬ ДОКУМЕНТИ
      }      
    }


    Вынесите название в отдельный аргумент
    code
    function 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;    
        }

    Ответ написан
  • Решать задачи VS Продолжать учиться?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Начать решать задачи, теория без практики мертва.
    Ответ написан