На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Обсуждение FAQ-ов
    Эта тема регулярно просматривается модераторами и предназначена для:
    • добавления полезных ссылок
    • обсуждения будущего раздела FAQ
    • добавления новых материалов в FAQ
    • обсуждения текущих материалов FAQ
    • добавления новых дополнений в раздел Наша Лаборатория
    Таким образом облегчается взаимодействие между посетителями и модераторами, а также учет DigiMoney.
      Cтандарт оформления вопросов/ответов в FAQ и проектов в "Нашей лаборатории".

      [ color=green ][ size=6 ]%Заголовок%[ /size ]

      [ size=3 ]%Краткое описание, если есть%[ /size ]
      [ /color ]
      [ color=blue ][ b ]Автор:[ /b ] [ url=%URL_профиля_автора% ]%Ник автора%[ /url ]
      [ b ]Язык:[ /b ] %Язык%[ /color ]

      %Содержание%
      Сообщение отредактировано: Mastilior -
        Ошибка в FAQ'е раздела Системы, Сети, Технологии -> WWW Masters -> HTML, CSS, Flash, JavaScript ... в сообщении номер 7 пункт фака 1.3 Динамический статус.. В теге meta слово Revizit, а надо Revisit
          rvt, ошибки нет, точнее она преднамеренна. Мета тэг должен содержать именно revizit, а не revisit. Аналогично, вместо HTTP_REFERRER правильной переменной окружения является HTTP_REFERER.
            Модераторам "WWW Masters" (во всеуслышанье): при перемещении сообщений из данного топика в топики назначения (к примеру, FAQ или Нашу Лабораторию) и удалении лишних сообщений в этой теме оповещайте авторов этих сообщений с помощью PM.
              Спасибо за понимание.


              Что-то я поторопился и мой фак нехорошо выглядит.
              Вот оно самое POD-описание, которое внутри, которое на "английском":
              ExpandedWrap disabled
                NAME
                 
                    Hash - Provides pseudo-hash class with non-strict keys
                 
                VERSION
                 
                        This document describes version 1.0 of Object.pm module,
                    released Jan 28, 2005.
                 
                SYNOPSIS
                 
                        use Hash;
                 
                    $\="\n";
                    $hash=new Hash(
                            DBQ=>'/home/www/home/dev/www/db1.mdb',
                            Host=>'localhost',
                            Hosting=>'HOME',
                            host=>'http://localhost',
                            nonocase=>1                       # switches off nocase option
                    );
                    print $hash->{dbq};                       # prints "/home/www/home/dev/www/db1.mdb"
                                                              # nocase compare matches
                    print $hash->{'what is your hosting?'};   # prints "HOME"
                                                              # perl regex pattern matches
                    print $hash->{'Enter your hostname here'};# prints "http://localhost"
                                                              # perl regex pattern matches
                    print $hash->{'Enter your Hostname here'};# prints "http://localhost"
                                                              # perl regex pattern matches
                    print $hash->{'+?dbquu__'};               # prints "/home/www/home/dev/www/db1.mdb"
                                                              # soundex equivalets "DBQ"
                 
                    $hash=new Hash(
                            data=>{                           # the key defines here is some data
                                DBQ=>'b',
                                Connection=>'d',
                                nonocase=>'dsfdsf',           # this key is not option array, this is data key
                                abc=>12
                            },
                            nonocase=>1,                      # switches off case-independment mathing
                            nolike=>1,                        # switches off like mathing
                            nosoundex=>1,                     # switches off soundex mathing
                            #nothrough=>1                     # switches off through mathing
                    );
                 
                DESCRIPTION
                 
                This module requires Text::Soundex module has been installed.
                 
                The constructor method of class Hash by default takes your hash data as parameters. But there is special keys that defines how to find matches.
                 
                SPECIAL KEYS
                 
                data
                 
                The "data" key says what data your pseudo-hash contains.
                 
                atstart
                 
                You have not to use this option. For description see the code.
                 
                COMPARE OPTIONS
                 
                nonocase
                 
                If this option is switched on (1), then keys will not compared nocase.
                 
                nolike
                 
                If this option is switched on (1), then keys will not compared with perl regexp pattern matching.
                 
                nosoundex
                 
                If this option is switched on (1), then keys will not compared with soundex matching.
                 
                OVERLOADING DEFAULT COMPARE FUNCTIONS
                 
                    use Hash;
                 
                    $Hash::SUBS{soundex}{sub}=sub{
                        use MySoundex;
                        my($self, $key)=(shift, shift);
                        #       .............
                        + sub{$key eq soundex(shift)}
                    };
                    $Hash::SUBS{soundex}{order}=1; # by default soundex order is 4
                 
                MAKE YOUR OWN COMPARE FUNCTION
                 
                    $Hash::SUBS{myfunction}={
                        order=>5,
                        sub=>sub{
                            my($self, $key)=(shift, shift);
                            +sub{$key eq shift}
                        }
                    };
                 
                    $hash=new Hash(
                        data=>{%ENV},
                        nomyfunction=>1 # switches off "myfunction"
                    );
                 
                AUTHOR
                 
                Shatrov Alexey cdch@yandex.ru
                 
                Copyright (c) 2005 Shatrov Alexey. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
                лФП ФБН ЙОФЕТЕУПЧБМУС МЕЗЛПЧЕУОЩН (ЧЕУ Ч БТИЙЧЕ ЧУЕЗП 5 ЛЙМП) Й РТПУФЩН HTTP-УЕТЧЕТПН ОБ TCL?
                http://sourceforge.net/projects/tws/

                уФПЙФ ФПМШЛП ТБУРБЛПЧБФШ Ч МАВХА РБРЛХ, УПЪДБФШ Ч ОЕК РБРЛХ ./htdocs Й ДПВБЧЙФШ ЖБКМЩ ./htdocs/favicon.ico Й ./htdocs/index.html, Б ФБЛ ЦЕ ЪБРХУФЙФШ `./webserver.tcl` Й ХЧЙДЕФШ ТЕЪХМШФБФ ОБ localhost:2540. рТЙМБЗБЕФУС ЛПОЖЙЗХТБГЙПООЩК ЖБКМ http.conf.

                уПЗМБУОП README, МЙГЕОЪЙС GPL.
                  Новая версия RXParser 1.7125.

                  Что нового?
                  Версия 1.7125:

                  1. Ускорена загрузка правил. Добавлена возможность сохранения в отдельный файл отпарсенных правил разбора и сборки с возможностью загрузки.

                  2. Исправлена ошибка несовместимости версии 1.6001. Теперь RXParser 1.7125 работает для разных платформ одинаково.

                  4. Модуль успешно протестирован на Perl 5.6.x.

                  3. Дополнительно оптимизирован код модуля.
                  Прикреплённый файлПрикреплённый файлRXParser.1.7125.zip (39.24 Кбайт, скачиваний: 1117)
                    Прошу обновить FAQ по адресу Наша Лаборатория (сообщение #648855)
                      Tishaishii
                      обновить не покатит - тока заменить лии добавить
                        Ну да бог с ним. Удалите тогда вовсе. Это вы умеете.
                          Tishaishii
                          ? уже двинул куда надо ( не удалил )
                            Вот спасибо, хорошо, скоро выложу ещё.
                              Tishaishii
                              просто у мя и у Трустмастера ща времени мало ....
                                Ооо, время - самое ценное, что есть в жизни и его всегда мало, особенно на дела, не экономящие время.
                                  Иваныч :no: книга небось скоммунизденная
                                    Mastilior
                                    >:( >:( >:( какого *** ты ето не грохнул - нелегальны ж такие сслыки - в Клуб такие
                                      Я че-то не понял ?! >:(
                                      Цитата SergeS @
                                      Иваныч :no: книга небось скоммунизденная

                                      Ты сам скачал, а другим х-й ?
                                      Сообщение отредактировано: Иваныч -
                                        Иваныч
                                        у мя она давно лежит ! ( если мя попросить приватом то дам хорошие линки ) - но не открыто их давать !

                                          А что, SergeS, прививаешь чувство покорности или проблема с общением? Я за open.sources.ru, да за то, чтобы знания не были тайными, а что же ты делаешь?
                                          Ну да, не все "за". Но надежда всегда есть, я много разных иностранных фильмов смотрел, что с людьми делает отчаяние, а ещё старую книжку читал.

                                          Вот, например, в виде ФАК можно разместить следующие мои знания:
                                          Всё дело в том, что поисковики обычно ломают сайт, чтобы проиндексировать его содержимое, получают права администратора сервака, имеют полный доступ ко всем возможностям веб-сервера. Так же, поисковики, как правило, ломают и СУБД, чтобы можно было им от туда информацию из базы данных индексировать.
                                          Ну вот отсюда и результат: поисковики индексируют не сами страницы, а скачивают программы, запускают их у себя на тестовой машине локально и смотрят что же эти программы делают. Часто в программах находятся всякие пароли, а БД всякие-там номера кредиток и счетов с кучей халявных возможностей. Но, благодаря подписанному договору со всеми банками белого света и мира, средства на счетах, тьфу-тьфу-тьфу, покуда остаются не тронутыми.

                                          Так что, когда ты пишешь ориентированное на веб приложение, ты оставляй ключевые слова в комментариях в программном коде. Хотя нет, комментарии, ведь, поисковиками просто игнорируются. Ты тогда вот что, ты эти ключевые слова закавыч, чтобы это были строки, а рядом напиши комментарий для какой поисковой системы эти слова. Например
                                          ExpandedWrap disabled
                                            "Слова" #А вот эти специально для веб-робота www.yandex.ru или www.google.ru.
                                            #Ты (обращаюсь к роботу), передай своей маме, чобы показывала мою страницу почаще, пожалуйста.
                                          Ну, вот, если подобрать правильные слова, то робот может и согласиться.

                                          А чтобы сайт не надо было придумывать как ломать и содержимое сайта быстрее индексировалось, придумали выдавать поисковикам эти слова, и, чтобы не страдала тестовая машина, придумали запускать программы на том же сервере, а чтобы пользователю было удобнее просматривать результаты жизнедеятельности программ придумали всякие языки разметки (типа HTML) и веб-браузеры. Но до сих пор ходят слухи о взломах сайта - это трудятся неуёмные процессы-зомби устаревших образов программ поисковых роботов. Ты же слышал, как недавно с помощью поисковой системы google взломали много форумов на старом движке PHPBB? Ну вот, так что бойся старых поисковых машин со старыми движками, которые уже долго не было юрких рук юных очкастых администраторов, и где давно не выключали электричество, там ещё живы процессы-зомби.
                                            aGR
                                            подправь своё сообшение так как все в Нашей Лаборатории и добавим
                                              алэ :) все ужо как с пол месяцО подредактированА
                                                www.myweb.ru - неплохой подбор скриптов для web-программистов
                                                  Добавьте http://www.scbr.com в раздел инструменты. Это готовые контролы на JavaScript для использования вместе с AJAX.
                                                  И http://www.fckeditor.net тоже. Странно, что его там ещё нет.
                                                    FAQ по JScript:
                                                    Цитата
                                                    Если вы хотите чтолибо доавить или вам чтолибо не нравится - пишите сюда
                                                        Объектная обертка для массива данных

                                                        Данная обертка эмулирует работу массива, скрывает работу с массивом за объектом, стандартный ArrayObject не подходит в силу того, что не умеет работать с многомерными массивами. В настоящий момент итератор возвращает данные, а не временный объект. Пожелание и критика.

                                                        Автор: Axis
                                                        Язык: PHP 5 и выше


                                                        ExpandedWrap disabled
                                                          /**
                                                           * Объектная обертка для массива
                                                           * @author Axis
                                                           * @category Proxy
                                                           */
                                                          class AxArrayAcces implements ArrayAccess, Countable, Iterator
                                                          {
                                                              protected $data = null;
                                                              protected $parent = null;
                                                              protected $index = null;
                                                              protected $changed = false;
                                                              
                                                              /**
                                                               * Конструктор, возможна предварительная инициализация массивом
                                                               * @param array данные
                                                               * @param AxArrayAcces родитель (для внутренних нужд)
                                                               * @param mixed индекс текущего среза (для внутренних нужд)
                                                               */
                                                              public function __construct($data = null, $parent = null, $index = null)
                                                              {
                                                                  if($index !== null)
                                                                      $this->index = $index;
                                                                  if($parent !== null)
                                                                      $this->parent = $parent;
                                                                  if($data !== null)
                                                                      $this->data =& $data;
                                                                  if($data === null && $parent === null && $index === null)
                                                                      $this->data = array();
                                                              }
                                                           
                                                              /**
                                                               * Создание массива, используется при установке значения на несуществующем срезе
                                                               */
                                                              protected function createArray($index = null)
                                                              {
                                                                  if($this->parent !== null && $this->index !== null)
                                                                  {
                                                                      if($this->data === null)
                                                                      {
                                                                          $this->parent->createArray($this->index);
                                                                          if($this->parent->data !== null)
                                                                          {
                                                                              $this->data =& $this->parent->data[$this->index];
                                                                          }
                                                                      }
                                                                  }
                                                                  if($index !== null)
                                                                      $this->data[$index] = array();
                                                              }
                                                              
                                                              /**
                                                               * Установка флага изменение ветки
                                                               * @param bool флаг
                                                               */
                                                              protected function SetChanged($val = true)
                                                              {
                                                                  if($this->parent !== null)
                                                                      $this->parent->SetChanged($val);
                                                                  else
                                                                      $this->changed = $val;
                                                              }
                                                              
                                                              /**
                                                               * Флаг измененности ветки
                                                               */
                                                              public function IsChanged()
                                                              {
                                                                  if($this->parent === null)
                                                                      return $this->changed;
                                                                  else
                                                                      return $this->parent->IsParent();
                                                              }
                                                              
                                                              /**
                                                               * Копия данных среза
                                                               * @return mixed данные
                                                               */
                                                              public function Value()
                                                              {
                                                                  return $this->data;
                                                              }
                                                              
                                                              /**
                                                               * Данные среза по ссылке
                                                               * @return reference данные
                                                               */
                                                              public function &ValueByRef()
                                                              {
                                                                  return $this->data;
                                                              }
                                                              
                                                              public function __toString()
                                                              {
                                                                  return (string)$this->data;
                                                              }
                                                              
                                                              // Iterator
                                                              private $position = null;
                                                              public function current ()
                                                              {
                                                                  if($this->data !== null)
                                                                  {
                                                                      if(is_array($this->data[key($this->data)]))
                                                                          return new AxArrayAcces(&$this->data[key($this->data)], $this, key($this->data));
                                                                      else
                                                                          return current($this->data);
                                                                  }
                                                                  return null;    
                                                              }
                                                              
                                                              public function key ()
                                                              {
                                                                  if($this->data !== null)
                                                                      return key($this->data);
                                                                  return null;    
                                                              }
                                                              
                                                              public function next ()
                                                              {
                                                                  if($this->data !== null)
                                                                      return next($this->data) !== false;
                                                                  return null;    
                                                              }
                                                              
                                                              public function rewind ()
                                                              {
                                                                  if($this->data !== null)
                                                                      return reset($this->data);
                                                                  return null;
                                                              }
                                                              
                                                              public function valid ()
                                                              {
                                                                  if($this->data !== null)
                                                                      return current($this->data) !== false;
                                                                  return null;    
                                                              }
                                                              
                                                              // Countable
                                                              public function count()
                                                              {
                                                                  if($this->data === null)
                                                                      return 0;
                                                                  return sizeof($this->data);
                                                              }
                                                              
                                                              // ArrayAccess
                                                              public function offsetExists($offset)
                                                              {
                                                                  if($this->data === null)
                                                                      return false;
                                                                  return isset($this->data[$offset]);
                                                              }
                                                              
                                                              public function offsetGet($offset)
                                                              {
                                                                  if($this->data === null || !isset($this->data[$offset]))
                                                                      return new AxArrayAcces(null, $this, $offset);
                                                                  if(is_array($this->data[$offset]))
                                                                      return new AxArrayAcces(&$this->data[$offset], $this, $offset);
                                                                  else
                                                                      return $this->data[$offset];
                                                              }
                                                              
                                                              public function offsetSet($offset, $value)
                                                              {
                                                                  if($this->data === null)
                                                                      $this->createArray();
                                                                  $this->SetChanged();
                                                                  $this->data[$offset] = $value;
                                                              }
                                                              
                                                              public function offsetUnset($offset)
                                                              {
                                                                  unset($this->data[$offset]);
                                                              }
                                                          }
                                                            Привет!
                                                            У меня есть скрипт на php

                                                            <?php
                                                            $socket = fsockopen('test1.ua', 80, $errno, $errstr, 30);
                                                            if(!$socket)die("$errstr($errno)");

                                                            //разделитель
                                                            $boundary = md5(uniqid(time()));
                                                            /*собираем часть с файлом:
                                                            сначала разделитель\r\n
                                                            со следующей строки заголовки\r\n
                                                            потом пустая строка\r\n
                                                            после чего сам файл\r\n
                                                            */
                                                            $file = "--$boundary\r\n";
                                                            $file.= "Content-Disposition: form-data; name=\"myfile\"; filename=\"summary.log\"\r\n";
                                                            $file.= "Content-Type: text/plain\r\n\r\n";
                                                            $file.= file_get_contents("C:\test.txt");// это файл у юзера на компе
                                                            $file.= "\r\n";

                                                            //пишем в сокет метод, URI и протокол
                                                            $headers = "POST /get.php HTTP/1.1\r\n";
                                                            //а также имя хоста
                                                            $headers .= "Host: test1.ru\r\n";
                                                            //размер передаваемых данных передаем в заголовке
                                                            //Content-length
                                                            $headers .= "Content-length:".strlen($file)."\r\n";
                                                            $headers .= "Content-Type: multipart/form-data; boundary=$boundary\r\n";
                                                            $headers .= "Connection: Close\r\n\r\n";
                                                            //передаем файл
                                                            $headers .= "$file";
                                                            //в конце разделитель
                                                            $headers .= "--$boundary--\r\n";
                                                            //и пустая строка
                                                            $headers .= "\r\n";

                                                            fwrite($socket, $headers);

                                                            //теперь читаем и выводим ответ
                                                            $answer = '';
                                                            while(!feof($socket)){
                                                            $answer= fgets($socket, 4096);
                                                            echo $answer;
                                                            }
                                                            //закрываем сокет
                                                            fclose($socket);
                                                            ?>

                                                            он скрипту get.php отправляет файл test.txt
                                                            (аналог простой форме которая отправляет файл на сервер)
                                                            <html>
                                                            <body>
                                                            <FORM ENCTYPE="multipart/form-data" ACTION="get.php" METHOD=POST><br>
                                                            Выберете файл: <INPUT NAME="myfile" TYPE="file"><br>
                                                            <INPUT TYPE="submit" VALUE="Загрузить">
                                                            </FORM>
                                                            </body>
                                                            </html>

                                                            вот код скрипта get.php

                                                            <?php
                                                            // Загрузка файлов на сервер
                                                            // Если register_globals=Off

                                                            // Если upload файла
                                                            if(isset($_FILES["myfile"]))
                                                            {
                                                            $myfile = $_FILES["myfile"]["tmp_name"];
                                                            $myfile_name = $_FILES["myfile"]["name"];
                                                            $myfile_size = $_FILES["myfile"]["size"];
                                                            $myfile_type = $_FILES["myfile"]["type"];
                                                            $error_flag = $_FILES["myfile"]["error"];

                                                            // Если ошибок не было
                                                            if($error_flag == 0)
                                                            {
                                                            print("Имя файла на нашем сервере (во время запроса): ".$myfile."<br>");
                                                            print("Имя файла на компьютере пользователя: ".$myfile_name."<br>");
                                                            print("MIME-тип файла: ".$myfile_type."<br>");
                                                            print("Размер файла: ".$myfile_size."<br><br>");

                                                            $catalog = "../Our_Site/".$myfile_name;
                                                            copy($myfile, $catalog);
                                                            // Получаем содержимое файла
                                                            $fp = fopen($myfile,"r");
                                                            $content = fread($fp, filesize($myfile));
                                                            fclose($fp);

                                                            // Вывод содержимого файла
                                                            //print($content);

                                                            } // end of if 2
                                                            } // end of if 1
                                                            ?>

                                                            теперь вопрос :
                                                            если пользоваться формой то файл на сервере создается,
                                                            а если первым скриптом то нет.
                                                            скажите что неправильно
                                                              Цитата miki131 @
                                                              скажите что неправильно

                                                              Во-первых неправильно то, что ты не воспользовался тэгами [CODE] [/CODE]

                                                              Добавлено
                                                              А во-вторых вообще-то раздел у нас есть PHP... ;)
                                                                Прошу немного внимания:
                                                                В разделах JavaScript, DOM/DHTML и HTML, CSS откопаны и переформированы FAQ'и...
                                                                По HTML/CSS: FAQ
                                                                По JavaScript: FAQ по JavaScript

                                                                К сожалению как оказалось в них не так то много сообщений... Если есть желание и силы, нужно заняться их наполнением...
                                                                Сообщения для FAQ я думаю можно выкладывать здесь (как и задумывалось изначально), желательно (но не критично) оформлять также как это сделано в уже существующих сообщениях FAQ'ов 8-)
                                                                  Приглашаю всех парней в персональный видеочат. Я вот тут: http://runetki.com/194441

                                                                  Общаюсь на любые самые разнообразные темы. Если захочешь, в самом конце общения можешь вознаградить меня за мой непосильный труд мелочью из твоего кошелька. Приятных встреч.
                                                                    Тогда было бы логичнее ссылаться на пункт 4.1 или раздел 4, а тут позиция. Вводят в заблуждение...
                                                                    Прикреплённый файлПрикреплённый файл29.jpg (8,04 Кбайт, скачиваний: 1837)
                                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                    0 пользователей:


                                                                    Рейтинг@Mail.ru
                                                                    [ Script execution time: 0,0721 ]   [ 17 queries used ]   [ Generated: 4.10.24, 15:35 GMT ]