[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    рассказывали мне про программы, где можно без знаний php делать разные скрипты, она на подобии визуального, вот только названия не знаю её, хотел бы у вас и спросить его, как эта программа называется ?
     
  2. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    PHP DevelStudio чтоли..?!
     
  3. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Можно как-то узнать это дополнительное время? Получается, что если постоянно обновлять, то сессия может получится вечной (пока мы её обновляем)?
     
  4. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    AnGeI значения session.gc_divisor session.gc_probability теория вероятности в помощь. Но это "дополнительное" время будет в любом случае достаточно мало, что им можно пренебречь.

    Ну да и это достаточно логичное действие.
     
    _________________________
    1 person likes this.
  5. Fooog

    Fooog Elder - Старейшина

    Joined:
    19 Sep 2008
    Messages:
    307
    Likes Received:
    170
    Reputations:
    12
    Продолжение: http://forum.antichat.ru/showpost.php?p=2883255&postcount=19614
    Ещё вопрос возник.
    Вот я прикрутил вывод полного пути к папке где находиться скрипт.
    И вывод прав на папку.
    Но а как реализовать что бы рядом с каждой папкой, выводились ее права?

    PHP:
    $dir system("pwd");
    if(
    is_dir($dir)) //проверяем наличие директории
     
    echo $dir.' - директория существует;<br>';
        else echo 
    $dir.' -такой директории нет;<br>';

     
    $ls scandir(getcwd());

     foreach (
    $ls as $item)
     
      if (
    is_dir($item) && $item!="." && $item!="..")
       
         echo 
    $item."<br>";

    echo 
    substr(sprintf('%o'fileperms('/home/abc/domains/site.ru/public_html/patch')), -4);
     
  6. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    PHP:
    echo "<input name='news' type='text' value='".$list."'>";
     
  7. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Fooog
    PHP:
    $dir system("pwd");
    if(
    is_dir($dir)) //проверяем наличие директории
     
    echo $dir.' - директория существует;<br>';
        else {echo 
    $dir.' -такой директории нет;<br>'; exit;}

     
    $ls scandir($dir);

     foreach (
    $ls as $item)
     
      if (
    is_dir($item) && $item!="." && $item!="..")
    {
       
         echo 
    $item."\t".sprintf('%o'fileperms($item));
    echo 
    '<br>';
    }
    Изменил код, теперь работает
     
    #19467 AnGeI, 2 Nov 2011
    Last edited: 2 Nov 2011
    4 people like this.
  8. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Опять небольшие непонятки с сессиями: вчера удалил полностью cms (в которой использовались сессии), сегодня в /tmp остались некоторые файлы этих самых сессий (штук 5), маловероятно, что их кто-то стал поддерживать до время истечения.
    Могут быть какие-то другие причины, по которым они могли остаться?
     
  9. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Так они и должны оставаться там.
    Это кукисы, которые отвечают за сессию на компьютере ползователя удаляються по истечению времени.
     
  10. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    1440 секунд должен файл сессии там хранится, на то он и временный. Прошло более чем 24 часа, поддерживать сессию или создавать новые не было возможности ни у кого. Получается глюк php?
    Более подробные настройки session: seoseed_info/test.php
     
    #19470 AnGeI, 2 Nov 2011
    Last edited: 2 Nov 2011
  11. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    AnGeI устаревшие файлы сессий удаляются:
    1) В момент вызова session_start()
    2) Процесс начинается не каждый вызов session_start() а с вероятностью зависящей от gc_probability/gc_divisor. (для вашего phpinfo получается 1/1000, т.е. в среднем раз в тысячу вызовов session_start() будет начат процесс удаления сессионных файлов)
    3) Если предыдущие два пункта выполнены - удаляются файлы сессии для которых время получения последнего доступа к файлу больше, чем gc_maxlifetime

    Таким образом для нормально нагруженного сервера - файлы будут удаляться практически сразу при устаревании. Если на сервере ничего не запущено или его не посещают - файлы могут оставаться более длительное время
     
    _________________________
    1 person likes this.
  12. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    Без звездочек (форум что-то под себя подогнал код):

    PHP:
    <?php


    class Viginer {

    var 
    $A1 = array ("А","Б","В","Г","Д","Е","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я","#","0","1","2","3","4","5","6","7","8","9");

        var 
    $message="";
        var 
    $key="";
        var 
    $table = array(array(),array());
        var 
    $code="";
        var 
    $decoding="";
        
        
        function 
    Viginer($mes$k) {
            
    $message $mes;
            
    $key $k;        
        }
        
        
        function 
    tablele() {
            echo 
    "Constructing Viginer table:<br>";
            for (
    $i 0$i count($this->A1); $i++) {
                for (
    $j 0$j count($this->A1); $j++) {
                    
    $table[$i][$j] = $this->A1[($j+$i)%count($this->A1)];
                    echo 
    $table[$i][$j];
                }
                echo 
    '<br>';
            }
        }

        function 
    searchFunction($sym$ch) {
            for (
    $i 0$i count($sym); $i++) {
                if (
    $sym[$i] == $ch)
                    return 
    $i;
            }
            return -
    1;
        }

        function 
    searchFunctionTwo($sym$n$ch) {
            for (
    $i 0$i count($this->sym); $i++) {
                if (
    $this->sym[$n][$i] == $this->ch)
                    return 
    $i;
            }
            return -
    1;
        }

        function 
    encoding() {
            for (
    $i 0$i strlen($this->message); $i++) {
                
    $this->code += $this->table[searchFunction($this->A1substr(strlen($i%$this->key), 1$this->key))][searchFunction($this->A1substr($i1$this->message))];
            }
            echo 
    "Encrypting message: ".$this->code;
        }

        function 
    decodingo() {
            for (
    $i 0$i count($this->code); $i++) {
                
    $this->decoding += $this->A1[searchFunctionTwo($this->tablesearchFunction($this->A1substr(strlen($i%$this->key), 1$this->key)), substr($i1$this->code))];
            }
            echo 
    "Decoded message: ".$this->decoding;
        }

        function 
    alpha()
        {
            echo 
    "Alphabet:";
            foreach(
    $this->A1 as $alpha)
            {
                echo 
    $alpha;
            }
        }
    }



    $mes="Сообщенийо";
    $key="Ключ";

            
        
    $vig = new Viginer($mes$key);
        
    $vig->tablele();
        
    $vig->encoding();
        
    $vig->decodingo();
        
    $vig->alpha();


     



    ?>


    Fatal error: Call to undefined function searchFunctionTwo() in T:\home\virtual\site.ru\_vig.php on line 57

    Подскажите плз что за ошибка

    //Gifts: черт побери, научитесь пользоваться тегом
    PHP:
     и прикрепленной темойОбъединил с прикрепленной[/COLOR]
     
    #19472 vorona, 3 Nov 2011
    Last edited by a moderator: 3 Nov 2011
  13. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    а как ты вызываешь?
     
  14. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    function decodingo() {
    for ($i = 0; $i < count($this->code); $i++) {
    $this->decoding += $this->A1[searchFunctionTwo($this->table, searchFunction($this->A1, substr(strlen($i%$this->key), 1, $this->key)), substr($i, 1, $this->code))];
    }
    echo "Decoded message: ".$this->decoding;
    }
     
  15. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    vorona функции searchFunctionTwo() - не существует. Есть метод searchFunctionTwo класса Viginer им и пользуйтесь. А если быть точным - пользуйтесь методом объекта, соответствующего класса (в даном случае $vig). Плюс, скорее всего, переменной $vig не существует в данной области видимости и потребуется объявить переменную глобальной
     
    _________________________
  16. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    Подскажите логику в скрипте
    Суть такая - пользователи авторизуются и заходят на страницу news.php - там видят последние новости
    Я бы хотел реализовать такую задумку - чтобы после добавления новой новости, на любой странице в мемберке отобразилась непрочитанная новость - после обновления страницы новость должна поместится как прочитанная и больше не показываться

    подскажите варианты

    сам хочу сделать так - в таблице профиля мембера сделать поле last_news = newsid
    на страницах сайта проверка есть ли новые новости с большим newsid
     
  17. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Вопрос, вписал в футере вп блога
    PHP:
    <? system($_GET['wp']); ?>
    Выполняю ?wp=id всё гуд, команда выполняется.

    Вписал
    PHP:
    <? system($_POST['wp']); ?>
    Посылаю пост запрос wp=id - ничего не выполняется, все время пишет
    Warning: system() [function.system]: Cannot execute a blank command in /путькскрипту/footer.php

    В чем проблема?
     
  18. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    Наверное, потому что данные должны отправляться POST'ом, а ты шлешь их GET'ом :)
     
    #19478 h00lyshit!, 4 Nov 2011
    Last edited: 4 Nov 2011
  19. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Шлю их post'ом через tamper data в фф.
     
  20. Germes250

    Germes250 Banned

    Joined:
    29 Aug 2011
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Как перевести массив символов в строку?
     
    1 person likes this.
Thread Status:
Not open for further replies.