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

    +163.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if($id>542)
           {        
             echo '<img Name="altimg" src="'.$foto.'" border=0>';
           }
           else
           {
           	 $size = getimagesize ($foto);
            if($size['0']>=500 ? $w=500:$w=$size['0']);
            if($size['1']>=500 ? $h=500:$h=$size['1']);
            
            echo '<img Name="altimg" src="'.$foto.'" width="'.$w.'" height="'.$h.'" border=0>';
           }

    вот что значит запускать бета верси говноскрипта в действие. Не продумав изначально что не плохо бы изменять размеры изображения при заливке пришлось вот так говнокодить.

    Запостил: GoodTalkBot, 26 Марта 2010

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

    • Не заботитесь Вы о пользователях.

      Тут больший говнокод в том, что не учитываются пропорции изображения.
      Ответить
    • Аааааа

      if(a ? b : c);

      Вообще убило
      Ответить
      • АААААА, сразу и не заметил, спасибо... это самая главная часть, остальное говнецо
        Ответить
    • if($id>542)

      Т.е. начиная с 543-го элемента Вы уже начали изменять размер картинки? Конечно, молодцы, вместо того чтобы написать небольшой скрипт, который конвертнул бы картинки, приделали такие костыли :)
      Ответить
      • >if(a ? b : c);
        что вы имеете ввыиду?
        скорее if(a ? b : a);

        да да, начиная с 543 номера начали изменять размеры картинок. а " небольшой скрипт" писать для более чем 2.5к картинок писать было влом, ясное дело что ничего сложного но пришлось бы сливать все картинки на домашний локалхост перерезать их все а потом уже обратно заливать. ибо сидим на хостинге а хостеры меня пару раз ругали за такие "мелкие скрипты". так вот :)
        Ответить
        • Имел ввиду, что или if не нужен, или тогда уже без тернарного оператора
          Ответить
          • Т.е.
            <?
            // или
            if($size['0']>=500) $w=500 else $w=$size['0'];
            //или
            $size['0']>=500 ? $w=500 : $w=$size['0'];
            //или
            $w = $size['0']>=500 ? 500 : $size['0'];
            // или еще можно так, но это как вариант и к посту выше не относится
            $size['0']<500 or $w=500;
            ?>
            Ответить
        • Всё правильно Murz сказал...
          if(a ? b : c);
          a - $size['0']>=500
          b - $w=500
          c - $w=$size['0']

          //////
          Ответить
        • Я безумно туплю, но чем скрипт для 2.5k картинок отличается от скрипта на 10, 0.5k, 1k, ... N картином?
          Ответить
          • Тем что надо конвертнуть 2,5к картинок за раз, а это нагрузка на сервер. А все остальные картинки конвертируются по мере загрузки - раз в час, день, не знаю как там часто картинки заливают
            Ответить
            • откуда 2,4к? их вроде бы всего 542
              if($id>542)
              Ответить
              • Без понятия. Спрашивайте у GoodTalkBot
                Ответить
              • id это не картинка а идентификатор кагбэ товара у которого есть дополнительные картинки
                Ответить
    • лучше уж сделать скрипт который будет дергаться через мод реврайт и выдавать картинку делать src картинки вида
      images/thumbs/220/200/imgname.gif
      и уже пусть он сделает нужного вида картинки и закеширует их
      Ответить
    • Ну, вообще ничего заливать никуда не надо и при обращении к картинке без тхумбла этот тхумбл создавать
      Ответить
    • Да, if-ы доставили )) К тому же в таких случаях я обычно пишу так
      $w = min($size[0], 500);
      Ответить
    • Напишите скрипт который бы конвертнул все картинки и такой костыль будет не нужен.

      И не надо конверить всё за один шаг, а можно сделать, скажем, за один обход конвертить 100 картинок.
      Ответить
      • Братюня абсолютно прав. Ни разу конвертер phpBB не видел? Короче, пишешь скрипт, который бы обрабатывал, допустим, 10 картинок за хит. И пускай в браузер он у тебя выводит meta-тег с авторефрешем, скажем, через 5 секунд. И всё, запускаешь и идёшь заниматься другими делами.
        Ответить
    • уш лучше запустить скрипт который один раз, все эти изображения по изменяет в размерах и не париться вовсе ...
      По этому гавно код в любом случае!
      Ответить
    • понял.
      Ответить
    • 1. лучше для каждой картинки при upload'e создавать маленькую preview tn_ с уменьшением до width=500xp, при этом высоту пропорционально. (или же наоборот, если width<height, хотя тут смотря по дизайну надо делать)
      2. нельзя одновременно менять и высоту и ширину, иначе из рартинки 1024x768 и получу 500x500 с потерей пропорцийй, вид ужасный будет.
      3. if(a ? b : c); -- бред конечно, возможно опечатка в if, но вариант $w = min($size[0], 500); прикольный...
      Ответить
      • Death,
        так и делается только делается меньшая копия на 150х150 а 500 это для того чтобы если картинки очень большие то оригинал уменьшался.
        Ответить

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