"PHP" / Говнокод #11970 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 Razban_Guestov, (Updated )

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

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

                  я думаю, многие как раз и повелись на то, что он в удобных местах встраивался в страничку, вместо необходимости изобретать шаблонизатор, как это было с перл
                  а еще входные параметры сами падали в переменные
                  и наконец, для него не создавался отдельный от апача процесс, все повелись на якобы меньшую нагрузку сервака.
                  Ответить
  • а я и не заметил что перед условием массив banners обнуляется )), этот код можно оптимизировать, выделив его и нажав delete, получается тоже самое и никаких memory leak ))
    Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8