Задать вопрос
  • Почему не работает цикл в 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;    
        }

    Ответ написан
    3 комментария
  • Как запретить зум при дабл-тапе и увеличить скорость отклика кнопки?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    запретить зум при дабл-тапе

    Добавить touch-action: manipulation в css к элементу, у которого отключаем

    .disable-dbl-tap-zoom {
        touch-action: manipulation;
    }


    Кнопка не отрабатывает частые нажатия и каунтер не прибавляется

    Обрабатывать нажатия асинхронно
    Ответ написан
    1 комментарий
  • Не могу понять, где в коде проблема?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    echo <b>‘</b>Memcache ver:<b> ’</b> . $memcache->getVersion();

    Мне кажется дело в этих кавычках. Должны быть либо 'такие', либо "такие", но никак не‘такие’
    Ответ написан
    6 комментариев
  • Как запретить повторную авторизацию?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    На странице авторизации/регистрации при первой аутентификации устанавливайте определенный идентификатор в Cookies или Session, и там же реализуйте проверку на существование этого идентификатора. Если идентификатор существует, отправлять на главную с отображением ошибки, например.
    Ответ написан
    Комментировать
  • Где лучше хранить изображения для админки?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Создать на сервере отдельную директорию для изображений. Через PHP загружать туда, а в БД писать путь, ссылку на изображение. Из БД выводить в как обычную строку.
    Ответ написан
  • Как вывести записи в WORDPRESS?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Указать LIMIT и OFFSET
    Ответ написан
    Комментировать
  • Как передать переменную содержащую Html и выполнить SQL запрос?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Не вставлять напрямую переменные в запрос, чревато SQL-injection заработать. Используйте подготовленные запросы. Наверняка Ваша библиотека позволяет это. Как костыль можно использовать hlmlspecialchars, addslashes .
    Ответ написан
  • Почему replace не сохраняется?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    SELECT ничего не изменяет, просто делает выборку.
    Ответ написан
    Комментировать
  • Как получить даты всех суббот в текущем году?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Получить дату первой субботы, вычислить по нему остальные, прибавляя к нему 1 неделю, пока не закончится год
    Ответ написан
    Комментировать
  • Можно ли с помощью PHP загружать файлы в удаленную файловую систему?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Да решается. Через FTP.
    Ответ написан
    Комментировать
  • Как запустить phpMyAdmin через Virtualbox под host-системой?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Права доступа (chmod) смотри, и настройки Apache.
    Ответ написан
    Комментировать
  • Как убрать кракозябры в excel из php БЕЗ mysql_set_charset?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    В коде не увидел mysql функций.
    Если ругается на mb_* функции, установите расширение mbstring, это аналоги функций для многобайтовых кодировок. Загуглите документацию. Конкретно mb_convert_encoding можно заменить на iconv, только результат может вам не понравится.
    Ответ написан
    Комментировать
  • Есть ли в yii2 сформировать pdf с водяным знаком?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Использовать сторонние библиотеки.
    TCPDF для формирования pdf и наложения водяного знака -> link
    КриптоПро ЭЦП Browser Plug-in -> link
    Ответ написан
    Комментировать
  • Вызов модального окна после отработки php?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    При нажатии кнопки "Отправить форму" открывать модальное окно с прелоудером или текстом "Пжлста подождите...", считывать данные с формы, отправлять через AJAX. Получаем ответ, анализируем его и если все хорошо, меняем содержимое модального окна на "Форма отправлена успешно", если ответ плохой, или его нет, или возникла ошибка какая-то. Пишем в модальное окно "Ошибка при отправке формы: бла-бла-бла..."
    Ответ написан
    Комментировать
  • Как сделать открытие блоков по клику, когда их несколько?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Ответ написан
    Комментировать
  • Симкарта в России без роуминга для иностранца, у какого оператора?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Можно оформить на эстонский паспорт любую симку. Роуминга внутри сети почти ни у кого теперь нет.
    Как сказал nrgian
    Просто внимательно читать описание тарифного плана.

    Некоторые опсосы задирают цены на звонки (входящие и исходящие) других опсосов. МТС часто с этим грешит.
    Есть ли операторы которые дают Карты предоплатные

    У нас это самая популярная система оплаты, тут скорее можно задать вопрос, кто предоставляет постоплатные карты =)
    Ответ написан
    Комментировать
  • Как вытащить и вставить элементы xml?

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

    <?php
    $dom_xml = new domDocument();
    $xml= <<<XML
    <car>
       <model>volvo</model>
       <model>Lada</model>
       <fdsdf>Lada</fdsdf>
       <qwqw>Lada</qwqw>
       <model>Lada</model>
       <fdsdfsdfs>Lada</fdsdfsdfs>
       <sd>ASD</sd>
       <bv>213</bv>
    </car>
    XML;
    $dom_xml->LoadXml($xml);
    $dom_xml->formatOutput = TRUE;
    $car = $dom_xml->getElementsByTagName("car")->item(0);
    $car_childs = $car->childNodes;
    $dom_items = $dom_xml->createElement('items');
    
    foreach($car_childs as $mod){
    	if($mod->tagName != null){
    		$dom_element = $dom_xml->createElement($mod->tagName, $mod->nodeValue);
    		$dom_items ->appendChild($dom_element);		
    	}
    }
    $dom_xml ->appendChild($dom_items );
    //удаляем узел car
    //$dom_xml->removeChild($car);
    $xml= $dom_xml->save('new.xml')

    результат
    <?xml version="1.0"?>
    <car>
       <model>volvo</model>
       <model>Lada</model>
       <fdsdf>Lada</fdsdf>
       <qwqw>Lada</qwqw>
       <model>Lada</model>
       <fdsdfsdfs>Lada</fdsdfsdfs>
       <sd>ASD</sd>
       <bv>213</bv>
    </car>
    <items>
      <model>volvo</model>
      <model>Lada</model>
      <fdsdf>Lada</fdsdf>
      <qwqw>Lada</qwqw>
      <model>Lada</model>
      <fdsdfsdfs>Lada</fdsdfsdfs>
      <sd>ASD</sd>
      <bv>213</bv>
    </items>

    Ответ написан
    2 комментария
  • Как сделать редирект?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    window.location
    Ответ написан
    Комментировать
  • Как сгладить переход между backgroundами?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Отредактируйте картинку, фон сделать прозрачным, тогда все ровно ляжет
    Ответ написан
    Комментировать