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

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
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 GoodTalkBot, (Updated )

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

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

    Тут больший говнокод в том, что не учитываются пропорции изображения.
    Ответить
    • АААААА, сразу и не заметил, спасибо... это самая главная часть, остальное говнецо
      Ответить
  • 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к картинок за раз, а это нагрузка на сервер. А все остальные картинки конвертируются по мере загрузки - раз в час, день, не знаю как там часто картинки заливают
          Ответить
            • 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 это для того чтобы если картинки очень большие то оригинал уменьшался.
      Ответить

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

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

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


    8