1. PHP / Говнокод #11970

    +53

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    <?php
    $banners = array(
    /*
    	array(
    		'file' => '/files/images/domofony/domofon.swf',
    		'w' => 295,
    		'h' => 40,
    		//'url' => ''
    	),
    */
        array(
            'file' => '/files/banners/mega-sale.swf',
            'w' => 600,
            'h' => 90,
            'url' => 'http://podryad.tv/mega-sale.html'
        )
    
    );
    
    $banners = array();
    
    if(sizeof($banners)) {
    
    $b = $banners[array_rand($banners)];
    
    $b_html = "<div style='position:relative; text-align:center; width: {$b['w']}px; height: {$b['h']}px; margin: 0 auto 10px auto; padding-top: 10px;'>";
    if($b['url']) $b_html .= "
        <a href='{$b['url']}' target=_blank style='display:block; width: 100%; height: 100%; position: absolute; top:0; left:0; z-index:5; background: url(\"/images/px.png\") top left repeat transparent;'></a>";
    $b_html .= "
        <object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='{$b['w']}' height='{$b['h']}' align='middle'>
            <param name='allowScriptAccess' value='sameDomain' />
            <param name='allowFullScreen' value='false' />
            <param name='movie' value='{$b['file']}' />
            <param name='quality' value='high' />
            <param name='bgcolor' value='#ffffff' />
            <param name='wmode' value='opaque' />
            <embed src='{$b['file']}' quality='high' bgcolor='#ffffff' allowscriptaccess='sameDomain' allowfullscreen='false' wmode='opaque' width='{$b['w']}' height='{$b['h']}' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />
        </object>
    </div>";
    
    echo $b_html; unset($b_html);
    
    }
    unset($banners);
    ?>

    baner view. Уничтож меня, уничтож меня полностью...

    Запостил: Razban_Guestov, 22 Октября 2012

    Комментарии (22) RSS

    • Борьба с memory leak ? ))
      Ответить
    • мы не доверяем сборщикам мусоров
      Ответить
    • > $b = $banners[array_rand($banners)];
      Обоссы меня гсподь, так вот как нужно получать случайный элемент массива. Вообще, это здорово, когда есть функция, возвращающая случайный ключ.
      Ответить
      • есть более интересный прием - хотя и медленный:
        <?php $b = array_rand (array_flip ( $banners ), $n ); ?>
        Ответить
        • Мой любимый - шаффл + слайс. Позволяет получить перестановки массива. Само собой, для одного элемента этой чуши не надо.
          Ответить
          • а все дело в том, что array_rand - одна из самых бессмысленных функций в php, коими он кишит. и как правило, с такой ебнутой реализацией, что чуваки предупреждают: не юзать, а использовать прямой rand, здесь лжеслучайность.
            Ответить
            • И беспощадных.
              Да, им явно не мешает сделать редизайн и несовместимый с прошлым PHP. Всё к тому потихоньку идёт. Ещё две-три итерации (при условии появления новых вменяемых архитекторов и выкидывания на мороз архитекторов-сорок) и это будет не тот PHP, который мы все любим.
              Ответить
              • был бы это js с логичной библиотекой: было бы здорово. а обозвать это дело php10
                Ответить
              • Зачем ждать несовместимый PHP, если отличный python доступен уже сейчас
                Ответить
                • питоне нет фигурных скобочек.
                  Ответить
                  • Вы так говорите, как будто это что-то плохое
                    Ответить
                    • это плохо, потому что я не смогу многомного операций уместить в одну строку. а перл позволял!
                      Ответить
                  • И это значит что там нету скобкосрачей.
                    Ответить
                    • И это значит, что питон скучен, ведь там нет срачей.
                      Ответить
                • Там пробелы страшные, говорят. Не помню, кто говорил, что ему претят языки, которые пытаются навязать свои правила, пусть даже из благих побуждений.
                  В конце концов в роли персональной домашней странички ПХП бесценен.
                  Ответить
                  • > в роли персональной домашней странички ПХП бесценен
                    как интеллектуальный html-шаблонизатор он шикарен.

                    я думаю, многие как раз и повелись на то, что он в удобных местах встраивался в страничку, вместо необходимости изобретать шаблонизатор, как это было с перл
                    а еще входные параметры сами падали в переменные
                    и наконец, для него не создавался отдельный от апача процесс, все повелись на якобы меньшую нагрузку сервака.
                    Ответить
      • /me пошел заменять все rand(0, count($array)-1)
        Ответить
    • а я и не заметил что перед условием массив banners обнуляется )), этот код можно оптимизировать, выделив его и нажав delete, получается тоже самое и никаких memory leak ))
      Ответить

    Добавить комментарий