На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Проблемы с формой загрузки (выбора) файла
      Продолжаю вопросы новичка.
      Есть файл index.php В нем есть формы для настройки различных элементов (классов) на странице, напр, цвет фона, цвет текста, размер, прочее... Захотел сделать ещё и поле для использования фонового изображения. Если после <input> прописать type="file", то пропадает текстовое поле рядом, выбор файла происходит, его название прописывается рядом с кнопкой выбора, но при нажатии клавиши "сменить" (она меняет все остальные параметры) ничего не происходит. Значение пробовал забирать и методом $_POST и с помощью $_FILES. Вот такой код (файл стилей не обязательный):
      ExpandedWrap disabled
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="main.css">
        </head>
         <div>
        <div class="wrap">
        <?php
        if (isset($_POST['bodystyle'])) {$bodystyle=$_POST['bodystyle'];} /*  Задаю первое условие и проверяю, что введено и присваиваю значение */
            elseif (empty($bodystyle)) /*  Проевряю не пустая ли строка, если пустая - ниже оставляю пустым значение переменной */
            {
            $bodystyle='';
            }
            /*  Как правильно то сказать? Инициирую применение стиля */
            echo '<style type="text/css";>
            body {background:'.$bodystyle.';}
           </style>';
            ?>
            <!--  Ниже подобная схема для квадрата -->
        <?php
        if (isset($_POST['wcolor'])) {$wcolor=$_POST['wcolor'] ;}
            elseif (empty($wcolor))
            {
            $wcolor='';}
        if (isset($_POST['wtextcolor'])) {$wtextcolor=$_POST['wtextcolor'] ;}
            elseif (empty($wtextcolor))
        {    $wtextcolor='';}
        if (isset($_POST['wwidth'])) {$wwidth=$_POST['wwidth'] ;}
            elseif (empty($wwidth))
        {
            $wwidth='';
            }
        if (isset($_POST['wbgimg'])) {$wbgimg=$_POST['wbgimg'] ;}
            elseif (empty($wbgimg))
        {
        $wbgimg='';
            }
         
            echo '<style type="text/css";>
            .wrap {background:'.$wcolor.';
        background-image:'.$wbgimg.';
                color:'.$wtextcolor.';
                width:'.$wwidth.';
        }
            </style>';
            
            ?>
            <!--   Создаю две формы для ввода цвета БОДИ и квадрата -->
        <form action="index.php" method="post" enctype="multipart/form-data">
                           цвет фона для БОДИ:<input name="bodystyle" value="" type="text">
                           <input value="сменить" type="submit">
         </form>
        <form action="index.php" method="post" enctype="multipart/form-data">
        цвет фона для Квадрата:<input name="wcolor" value="" type="text"><br>
        Фоновое изображение: <input name="wbgimg" value="" type="file"><br>
        цвет текста внутри квадрата:<input name="wtextcolor" value="" type="text"><br>
        ширина квадрата:<input name="wwidth" value="" type="text">
         <input value="сменить" type="submit">
         </form>
         </div>
        </div>

      Причем, если в строке Фоновое изображение: <input name="wbgimg" value="" type="file"><br> меняю file на text, то естественно появляется текстовое поле и в нем можно вбить вручную путь к картинке, а потом её применить.
      Метод с $_FILES пробовал следущими способами:
      ExpandedWrap disabled
        if (isset($_POST['wbgimg'])) {$wbgimg=$_FILES['wbgimg'] ;}
            elseif (empty($wbgimg))
        {
        $wbgimg='';
            }

      ExpandedWrap disabled
        if (isset($_FILES['wbgimg'])) {$wbgimg=$_FILES['wbgimg'] ;}
            elseif (empty($wbgimg))
        {
        $wbgimg='';
            }
      Сообщение отредактировано: D-G -
        D-G, так в чем сложность? Что у вас не получается?
        Сообщение отредактировано: Руслан -
          Цитата Руслан @
          Что у вас не получается?

          Если пишу вот так:
          ExpandedWrap disabled
             Фоновое изображение: <input name="wbgimg" value="" type="file"><br>

          то не работает, видно, что файл выбран, но при нажатии на "Сменить" изображение не применяется
          А вот в таком виде нет клавиши "Обзор"
          ExpandedWrap disabled
             Фоновое изображение: <input name="wbgimg" value="" type="text"><br>
          Сообщение отредактировано: D-G -
            Цитата D-G @
            видно, что файл выбран, но при нажатии на "Сменить" изображение не применяется

            Возможно ваш пхп скрипт не обрабатывает файл? :-? Вы проверили, файл вообще приходит на сервер?

            Цитата D-G @
            А вот в таком виде нет клавиши "Обзор"

            Дык элемент <input type="text" предназначен для ввода текста, с чего бы на ней возникла кнопка "обзор"? :blink:
              Цитата Руслан @
              Дык элемент <input type="text" предназначен для ввода текста, с чего бы на ней возникла кнопка "обзор"?

              Это я понимаю, зато если вручную вбить путь до файла и имя файла, то изображение загружается и фот применяется
              Цитата Руслан @
              Возможно ваш пхп скрипт не обрабатывает файл? :-? Вы проверили, файл вообще приходит на сервер?

              Честно говоря даже не знаю как это сделать, но фон не применяется
                Цитата D-G @
                зато если вручную вбить путь до файла и имя файла, то изображение загружается и фот применяется

                Загружаются на сервер? :huh: Чёт сомневаюсь! :scratch:
                  Цитата Руслан @
                  Загружаются на сервер? :huh: Чёт сомневаюсь!

                  Попробуйте, могу и скрин выложить, фон применяется, хоть для боди, хоть для квадрата
                    Цитата D-G @
                    Попробуйте

                    Когда из браузера передается <input type="text" - файл не передается на сервер. Это точно. Передается строка, текстовая строка, это не файл.
                    Когда вы используете <input name="wbgimg" type="file" - файл передается на сервер, во временное хранилище, отследить его судьбу можно так: var_dump($_FILES['wbgimg']
                    точней примерно так:
                    ExpandedWrap disabled
                      if (isset($_FILES['wbgimg'])) {var_dump($_FILES['wbgimg']);}
                      Цитата Руслан @
                      if (isset($_FILES['wbgimg'])) {var_dump($_FILES['wbgimg']);}

                      Вот что получилось
                      ExpandedWrap disabled
                        array(5) { ["name"]=> string(9) "gory8.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(24) "D:\xampp\tmp\phpC238.tmp" ["error"]=> int(0) ["size"]=> int(874704) }

                      Иногда вместо ["tmp_name"]=> string(24) выдает ["tmp_name"]=> string(23)
                        Цитата D-G @
                        Вот что получилось

                        Угу, это так сказать структура и содержимое массива $_FILES['wbgimg'] - данные по файлу, который передали на сервер. :)

                        $_FILES['wbgimg']['name'] - имя исходного файла.
                        $_FILES['wbgimg']['error'] - 0 если все нормально, или код ошибки.
                        $_FILES['wbgimg']['tmp_name'] - куда, и под каким именем файл ВРЕМЕННО размещен на сервере. Отсюда файл следует переместить куда нибудь.

                        ну а перемещать из временного хранилища можно вот такой функцией: move_uploaded_file.

                        Всё несколько сложней, чем казалось, меняя тип инпута "text" на "file"? :rolleyes:
                        Сообщение отредактировано: Руслан -
                          Цитата Руслан @
                          Всё несколько сложней, чем казалось, меняя тип инпута "text" на "file"? :rolleyes:

                          Ну так, никто и не говорил, что жизнь проста для неуча )
                          Я как всегда тороплюсь и возможно делаю очередную глупость, но поменяв вот так я ничего не добился:
                          ExpandedWrap disabled
                            if (isset($_FILES['wbgimg'])) {$wbgimg=$_FILES["wbgimg"] ;
                            $uploads_dir = 'uploads';
                            foreach ($_FILES["wbgimg"]["error"] as $key => $error) {
                                if ($error == UPLOAD_ERR_OK) {
                                    $tmp_name = $_FILES["wbgimg"]["tmp_name"][$key];
                                    $name = $_FILES["wbgimg"]["name"][$key];
                                    move_uploaded_file($tmp_name, "$uploads_dir/$name");
                            var_dump($_FILES["wbgimg"]);
                                }
                            }
                            var_dump($_FILES["wbgimg"]);
                            }

                          Отчет приходит такой же как и раньше. Как можно ещё проверить дальнейшую судьбу файла?
                          И ещё, ведь если просто в текстовом поле прописать путь к файлу, то фон применяется, при этом файл на сервер не грузится. Вот отчет команды
                          ExpandedWrap disabled
                            var_dump($_POST['wbgimg']);

                          ExpandedWrap disabled
                            string(20) "url(image/gory8.jpg)"

                          Может есть вариант выбора и копирования пути?
                            Цитата D-G @
                            Как можно ещё проверить дальнейшую судьбу файла?

                            Проверить наличие файла в том каталоге куда вы его отправили. Вот куда вы его отправили? :huh:
                              Цитата Руслан @
                              Вот куда вы его отправили?

                              Мне казалось, что вот это указание директории:
                              ExpandedWrap disabled
                                $uploads_dir = 'uploads';

                              Она у меня создана, там пусто
                              Сообщение отредактировано: D-G -
                                Цитата D-G @
                                Она у меня создана, там пусто

                                Попробуйте так:
                                ExpandedWrap disabled
                                  if (isset($_FILES['wbgimg'])) {
                                      $wbgimg=$_FILES["wbgimg"];
                                      $uploads_dir = 'uploads/';
                                      if(!$_FILES["wbgimg"]["error"])
                                      {
                                          $FileName_tmp_InServer=$_FILES["wbgimg"]["tmp_name"];
                                          $FileName_Dest_InServer=$_FILES["wbgimg"]["name"];
                                          move_uploaded_file($FileName_tmp_InServer, $uploads_dir.$FileName_Dest_InServer);
                                      }
                                  }
                                  Цитата Руслан @
                                  Попробуйте так:

                                  Не выходит, пишет замечание про эти строки:
                                  .wrap {background:'.$wcolor.';
                                  background-image:'.$wbgimg.';
                                  color:'.$wtextcolor.';
                                  width:'.$wwidth.';
                                  }
                                  ExpandedWrap disabled
                                    Notice: Undefined variable: wcolor on line 37
                                    Notice: Undefined variable: wbgimg on line 38
                                    Notice: Undefined variable: wtextcolor on line 39
                                    Notice: Undefined variable: wwidth on line 40

                                  При нажатии на "Сменить" пишет:
                                  ExpandedWrap disabled
                                    Notice: Array to string conversion on line 38
                                  Сообщение отредактировано: D-G -
                                    Цитата Руслан @
                                    ну а перемещать из временного хранилища можно вот такой функцией

                                    Все никак не могу понять, зачем вообще качать файл на сервер, если он уже там? Ведь если я прописываю путь в файле стилей, то файл никуда не качается, он просто берется прямо из указанной папки. Может есть способ выбрать файл и скопировать путь до него и вставить в текстовое поле?
                                      Цитата D-G @
                                      зачем вообще качать файл на сервер, если он уже там?

                                      :huh:
                                      Цитата D-G @
                                      Мне казалось, что вот это указание директории:
                                      $uploads_dir = 'uploads';
                                      Она у меня создана, там пусто

                                      :scratch:

                                      фантастика. Файл есть, но его там нет... Вам скучно? :huh:
                                        Цитата Руслан @
                                        фантастика. Файл есть, но его там нет... Вам скучно?

                                        Я не правильно пояснил. Хоть там файл и появился после применения вашего второго варианта, но фоновое изображение не применилось. Вы же мою цитату взяли после пробы вашего первого варианта. Меня мало интересует, где находится файл, важно чтоб картинка применилась как фоновое изображение (бэкграунд).
                                        Поэтому у меня опять вопрос, нет ли способа просто скопировать путь к файлу? Ну или как-то объединить два инпута: один с текстовым полем, другой с выбором файла?
                                        Сообщение отредактировано: D-G -
                                          Цитата D-G @
                                          Поэтому у меня опять вопрос, нет ли способа просто скопировать путь к файлу?

                                          Браузер изначально не знает, и не может знать какие файлы имеются на сервере. Кнопки "обзор файлов на сервере" (применимой к данной, практической ситуации) - не существует.

                                          Цитата D-G @
                                          Поэтому у меня опять вопрос, нет ли способа просто скопировать путь к файлу?

                                          Есть. Буквально пара строк на JS. Более убогий костыль сложно представить. :facepalm:

                                          Где тут руки помыть? <_<
                                          Если "программист" не в состоянии сформулировать даже вопрос, как он сформулирует решение?! :huh: >:(

                                          Добавлено
                                          Цитата D-G @
                                          Может есть способ выбрать файл и скопировать путь до него и вставить в текстовое поле?

                                          Т.е. требуется отобразить файлы, которые имеются на сервере, и показать их одмину для выбора?
                                          Если таки да, то glob($dir."*.jp*") - список файлов "*.jp*" на сервере.
                                          Только вам рано лезть в эти файловые дела. Научитесь отображать хотя бы простые строки, вы путаетесь даже в них, в соседней теме. <_<
                                            Цитата Руслан @
                                            Если "программист" не в состоянии сформулировать даже вопрос, как он сформулирует решение?!

                                            А я где-то сказал, что я программист? Я везде пишу в своих вопросах, что я новичок, и пробую научится, в том числе и формулировать свои мысли и озвучивать термины. Думаю за те 10 дней, что я на форуме, в том числе и с вашей помощью, мои познания стали лучше, мысли четче, код чище.
                                            Цитата Руслан @
                                            Есть. Буквально пара строк на JS. Более убогий костыль сложно представить

                                            Странно, может просто никто не задавался такой целью? Ведь есть функции типа pathinfo, link,,, Да и в отладчике путь к фалу показывает
                                            Да и в джумле вроде такое реализовано. Не буду, конечно утверждать, но там путь показывает, хотя возможно и с помощью js.

                                            Добавлено
                                            Цитата Руслан @
                                            Научитесь отображать хотя бы простые строки

                                            Честно говоря, даже не знаю, что такое простые строки... Если типа Хелоу, мир или 2+2, так вроде получается. Ну а многие "простые строки" которые были для меня сложными ещё на той неделе, я уже более менее понимаю и применяю. Хотя конечно,
                                            Цитата Руслан @
                                            Если таки да, то glob($dir."*.jp*") - список файлов "*.jp*" на сервере.

                                            мне возможно и рано.
                                              Цитата Руслан @
                                              Если "программист" не в состоянии сформулировать даже вопрос, как он сформулирует решение?!

                                              И вроде в моем первом посте я довольно четко сказал, что за поле я хочу создать
                                              Цитата D-G @
                                              Захотел сделать ещё и поле для использования фонового изображения.

                                              И вот в следующем тоже вроде видны мои цели:
                                              Цитата D-G @
                                              то не работает, видно, что файл выбран, но при нажатии на "Сменить" изображение не применяется
                                                Цитата D-G @
                                                Захотел сделать ещё и поле для использования фонового изображения.

                                                Фактически, на данный момент вы пришли к "выбор изображения из имеющихся на сервере". Хотя в процессе обсуждали загрузку файла на сервер, и изначально использовали <input type="file" - html элемент для загрузки файла на сервер ("отображение списка файлов, имеющихся у клиента").
                                                "список файлов на сервере" наглухо !== "список файлов на клиенте"!

                                                Цитата D-G @
                                                И вот в следующем тоже вроде видны мои цели:

                                                Да на здоровье, я ж не против. Делайте! Но имейте в виду, <input type="file" можно использовать как вы хотите, но это будет весьма убогий костыль, который можно применит в локальной машине, но лишенный практической пользы при типичном клиент-серверном взаимодействии. :whistle:
                                                Сообщение отредактировано: Руслан -
                                                  Цитата Руслан @
                                                  <input type="file" можно использовать как вы хотите

                                                  Как на ваш взггляд, можно ли для этого использовать данные вот этой статьи, с учетом переименования enctype="multipart/form-data" в type="text"?
                                                  https://php.net/manual/ru/wrappers.php.php
                                                  Цитата Руслан @
                                                  Если таки да, то glob($dir."*.jp*") - список файлов "*.jp*" на сервере.

                                                  Что-то не могу придумать как под это дело сделать кнопку, чтоб увидеть, что получится.
                                                    Цитата Руслан @
                                                    Если "программист" не в состоянии сформулировать даже вопрос, как он сформулирует решение?! :huh: >:(

                                                    Естественно я все ещё не программист ))) но сейчас уже по другому бы сформулировал свою изначальную проблему, хотя сразу крутились несколько вариантов в заглавии темы приближенных к нужному. Сейчас бы это скорее всего звучало как: "Проблема с формой выбора и применения фонового изображения". Интересно. можно ли сейчас полностью поменять тему? А вообще, спасибо за терпение и подсказки )))

                                                    Цитата Руслан @
                                                    Поэтому у меня опять вопрос, нет ли способа просто скопировать путь к файлу?

                                                    Есть. Буквально пара строк на JS. Более убогий костыль сложно представить.

                                                    Вы знаете, понаходил несколько вариантов подобных вещей на чистом пхп, все классно работает, но они платные. Одним словом нужно писать вариант експлорера на пхп ))) У меня конечно не полноценный експлорер, но в урезаном виде даже мой вариант уже кое-что может. Сделал этот вариант специально для форума, вдруг кому пригодится. Его можно развивать, скрывать окно со списком картинок,пока их не сканировали, делать картинки как ссылки, множественный выбор с помощью чекбокса и другое. Важен принцип. Рядом с текстовым полем есть клавиша "Обзор" для выбора картинок на сервере. Потом эти картинки выбираются и применяются. Тут вариант без записи в файл стилей, просто для демонстрации моментального применения выбранной картинки. После перезагрузки восстанавливается фон по дефолту.
                                                    Два файла, один form-forum.php , второй файл стилей main.css для дефолтного стиля, и чтоб удобней располагались окошко выбора и квадрат.
                                                    form-forum.php
                                                    ExpandedWrap disabled
                                                      <head>
                                                      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                                                      <link rel="stylesheet" type="text/css" href="main.css">
                                                      </head>
                                                       
                                                      <?php
                                                      // Вызов функции обработки результатов сканирования
                                                      if (isset($_POST['find_all_pic']))
                                                      {find_all_pic('.');}
                                                      ?>
                                                      <!--- Проверка нажатия кнопки для счетчика  --->
                                                      <?php
                                                      if (isset($_POST['find_all_pic']))
                                                      {calcul();}
                                                       ?>
                                                       
                                                      <body>
                                                      <div class="w">
                                                      <!--- Форма списка,куда должны передаваться результаты для дальнейшего выбора  --->
                                                      <div class="form">
                                                      <form action="" method="post">
                                                      <div style="width:100%; height:150px; overflow:auto; border:solid 1px #C3E4FE;">
                                                      <?php
                                                      if (isset($_POST['find_all_pic']))
                                                      {add_strok();}
                                                      ?>  <!--- Вызов функции для добавления строк с проверкой нажатия кнопки --->
                                                      </div>
                                                       <input type="submit" name="vibor_for_change" value="Выполнить">
                                                      </form>
                                                      </div>
                                                      <div class="wrap"></div>
                                                      </div>
                                                      </body>
                                                      <?php
                                                      function calcul()
                                                        {
                                                        global $matchV; global $pic_on; global $parth_on;
                                                              $calc=count($parth_on);      
                                                               echo "Найдено $calc файла(ов)";
                                                         }
                                                       
                                                      // Функция добавления строк в список
                                                      function add_strok()
                                                         {
                                                       global $pic_on; global $parth_on;
                                                         for ($i=0; $i<count($parth_on); $i++)  // по идее доолжна была проверять количество строк (элементов массива и быть счетчиком)
                                                            {
                                                            echo "
                                                            <input type=\"radio\" name=\"strok\" value=\"$parth_on[$i]\" />
                                                      <div style=\"display:grid; grid-template-columns:80% 20%; \">
                                                      <div style=\" grid-column: 1 / 1;\">$parth_on[$i]</div>
                                                      <div style=\"grid-column: 2 / 2;\">$pic_on[$i]</div></div><br>
                                                            ";
                                                            }
                                                         }
                                                      //  Функция длля сканирования всех картинок
                                                      function find_all_pic($dir)
                                                      {
                                                        global $pic_on; global $parth_on;
                                                        foreach (glob($dir.DIRECTORY_SEPARATOR."*") as $annown)
                                                        {
                                                           if (is_dir($annown))
                                                           {
                                                              if (find_all_pic($annown)) continue;
                                                           }
                                                           else
                                                           {
                                                              $parth_annown[] =$annown;
                                                              //echo $annown; echo '<br>';
                                                                      if (preg_match_all("/^.*\.(jpg|jpeg|png|gif|bmp)$/i",$annown,$match, PREG_PATTERN_ORDER )) // выбираем все картинки
                                                                   {
                                                                   $matchV=array_values($match[0]); // собираем картинки в массив
                                                                          foreach ($matchV as $key=>$pic)
                                                                         {
                                                                            $parth_on[]=$pic;
                                                                            $pic_on[] ='<img src="'.$pic.'" width="100%" height="100%" >';   // делаем превью с иконкой
                                                                            // echo $pic; echo '<br>'; // оставил для проверки
                                                                            }
                                                                     }
                                                           }
                                                        }
                                                      }
                                                      ?>
                                                      <?php
                                                      // Применение картинки без записи в файл стилей для боди
                                                      if (isset($_POST['bbgimg'])) {$bbgimg=$_POST['bbgimg'] ;}
                                                          elseif (empty($bbgimg))
                                                      {
                                                      $bbgimg='';
                                                          }
                                                          echo '<style type="text/css";>
                                                         body {
                                                                    background-image:'.$bbgimg.';
                                                                   }
                                                         </style>';
                                                      // Применение картинки без записи в файл стилей для квадрата
                                                      if (isset($_POST['wbgimg'])) {$wbgimg=$_POST['wbgimg'] ;}
                                                          elseif (empty($wbgimg))
                                                      {
                                                      $wbgimg='';
                                                          }
                                                          echo '<style type="text/css";>
                                                         .wrap {
                                                                    background-image:'.$wbgimg.';
                                                                   background-size: 100% 100%;
                                                                   }
                                                         </style>';
                                                       
                                                      ?>
                                                       
                                                      <?php
                                                      // Функция для обработки имени и пути файла для боди
                                                      function prepare()
                                                      { global $str;
                                                        $str1=preg_replace('/^\.\\\/','', $str);
                                                      $str2=preg_replace("/\\\/",'/',$str1);
                                                      echo "url($str2)";
                                                      }
                                                      // Функция для обработки имени и пути файла для квадрата
                                                      function prepare1()
                                                      { global $st;
                                                        $st1=preg_replace('/^\.\\\/','', $st);
                                                      $st2=preg_replace("/\\\/",'/',$st1);
                                                      echo "url($st2)";
                                                      }
                                                      ?>
                                                      <?--- Форма для выбора картинки для боди --->
                                                      <form action="form-forum.php" method="post" enctype="multipart/form-data">
                                                      картинка для страницы: <input name="bbgimg" type="text" value="<?php if (isset($_POST['strok'])) {$str=$_POST['strok']; prepare($str);} ?>"><input name="find_all_pic" type="submit" value="Сканировать картинки в корневой папке"><br>
                                                      <input value="сменить" type="submit">
                                                      </form>
                                                      <?--- Форма для выбора картинки для квадрата --->
                                                      <form action="form-forum.php" method="post" enctype="multipart/form-data">
                                                      картинка для кадрата: <input name="wbgimg" type="text" value="<?php if (isset($_POST['strok'])) {$st=$_POST['strok']; prepare1($st);} ?>"><input name="find_all_pic" type="submit" value="Обзор"><br>
                                                      <input value="сменить" type="submit">
                                                      </form>

                                                    main.css
                                                    ExpandedWrap disabled
                                                      body{
                                                          background: red;
                                                      }
                                                      .w {
                                                      display: grid;
                                                      grid-template-columns: 3fr 1fr;
                                                      }
                                                      .form {
                                                      width: 100%;
                                                       border: 5px solid #777;
                                                      }
                                                      .wrap  {
                                                          background:yellow ;
                                                       border: 5px solid #777;
                                                          margin: auto ;
                                                          width: 130px ;
                                                          height: 100px ;
                                                          z-index: 3 ;
                                                      }

                                                    Может, когда допишу полностью рабочий вариант екслорера, который можно будет прикрутить к любой задаче, выложу его тут.
                                                    Сообщение отредактировано: D-G -
                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                    0 пользователей:


                                                    Рейтинг@Mail.ru
                                                    [ Script execution time: 0,0782 ]   [ 16 queries used ]   [ Generated: 29.03.24, 06:10 GMT ]