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

    +151

    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
    function send_mail ($to, $thm, $html, $path) {
    	$fp = @fopen ($path, 'r');
    	if (!$fp) {
    		print "<p>File $path could not be read</p>";
    		exit();
    	}
    	$file = fread ($fp, filesize ($path));
    	fclose($fp);
    	// Generate the separate
    	$boundary = "--".md5 (uniqid(time ()));
    	$headers = "MIME-Version: 1.0\n";
    	$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
    	$multipart = "--$boundary\n";
    	$kod = "koi8-r";	// or $kod = "windows-1251";
    	$mulripart .= "Content-Type: text/html; charset=$kod\n";
    	$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
    	$multipart .= "$html\n\n";
    	$message_part = "--$boundary\n";
    	$message_part .= "Content-Type: application/octet-stream\n";
    	$message_part .= "Content-Transfer-Encoding: base64\n";
    	$message_part .= "Content-Disposition: attachment; filename=\"".$path."\"\n\n";
    	$message_part .= chunk_split (base64_encode ($file));
    	$miltipart .= $message_part."--$boundary--\n";
    	if (!mail ($to, $thm, $multipart, $headers))
    		exit("<p>Error sending e-mail</p>");
    }

    Интересно, кто-нибудь будет этим Г пользоваться?!

    Запостил: dwinner, 15 Ноября 2010

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

    • Будут, но только не граммар-наци.
      Ответить
    • Это RFC, дурик.
      Отправь письмо с файлом через mail.

      Минус.
      Ответить
      • показать все, что скрытоДа ты что? В натуре? Request For Comments, говоришь? А я-то думал! Думаешь я не знаю, что это отправка письма с вложением файла?! Я хотел подчеркнуть, что есть просто куча проверенных библиотек для работы с email (на крайняк imap езь...), а кому нравится лисапеды изобретать, катайтесь дальше на детских трёхколёсниках и программируйте вручную почтовые протоколы, в путь!
        Ответить
        • а, ну тогда хорошо, что знаешь про RFC.
          Функция велосипед, конечно, но на говнокоде ей не место (с) fey.
          Ответить
          • path надо проверять, но всё равно минус.
            Ответить
            • Ну вообщем я согласен, если т.н. deprecated-код, это ещё не значит, что он плохой, молчу...
              Ответить
        • > ...есть просто куча проверенных библиотек...
          > ...а кому нравится лисапеды изобретать, катайтесь дальше...
          Точно, мы лучше попросим большого доброго дядю (который в детстве на трёхколёснике катался):
          "Дяденька, дай нам готовый класс для работы с тем-то и тем-то, да чтоб с доками, да с примерами, и чтоб сразу прикрутить и работало"
          Дядька он такой добрый же...
          Ответить
          • Ну пиши всё с нуля, никто ж не запрещает.
            Ответить
            • Своя рубаха ближе к телу...
              Ответить
              • Если бы все OpenSource-ники так думали, ты б тут не комментил!
                Ответить
                • Очень Молодой человек, (вск знак).
                  Позволю заметить, что готовый продукт, всегда (всецело всегда, испокон веков замечено) провоцирует умственную деградацию. И человек изпользующий этот продукт (и не понимающий структуру происходящего в нём) - как правило, показывает свою мозжечковую недальнозоркость.
                  Другое дело, если в свои ннадцать лет, при использовании сего, у него хватает совести не тролить собеседников. В этом случае ещё возможен конструктивный диалог.
                  Ответить
                  • Конструктивный диалог, любезный, возможен. Вопрос на засыпку: вы свой компьютер с нуля собирали, (паяли чипы, микросхемы... и т.д и т.п.)?! Или может быть всё-таки нет?! Однако внутри вы примерно представляете как это всё должно работать, видимо (IQ наверно как и самооценка у вас зашкаливает).
                    Ответить
                  • Я, собственно, про повторное использование кода пытался сказать, но, видимо, не удалось. Я не отрицаю, что внутренние детали функционирование знать необходимо.
                    Ответить
                    • Если качество продукта устраивает - пожалуйста, пользуйтесь на здоровье.
                      А если знаешь, что смог бы сделать лучше, то почему бы и не сделать лучше?
                      (те самые дядьки, которые изобретают "трёхколёсники" и у которых сейчас скачивают открытые исходники так скорее всего и думали)
                      Ответить
    • насколько старый код? лет 10 назад такой бы сгодился
      а еще не думал, что увижу koi8-r
      Ответить

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