Fórum Root.cz
Hlavní témata => Server => Téma založeno: novaskola 11. 11. 2015, 14:57:56
-
Předem se přiznám, že nejsem zběhlý v PHP a snažím se odstranit chybu z našich stránek www.novaskolabrno.cz
Na stránkách hostovaných u banan.cz (verze PHP: 5.3) je funkce k odeslání objednávky do mailu. V "Předmětu" zprávy a v "Od koho", který dorazí přes náš poštovní server do outlooku, se místo diakritiky zobrazí velké X. Takhle chybně se to zobrazuje i přes webmail. Pošta, která dorazí do poštovní schánky na seznamu či gmailu se zobrazuje správně s diakritikou.
Tělo mailu má diakritikou v pořádku
PHP stránka je uložena v kódování UTF-B (bez BOM). Kód vypadá následovně:
$content = $mpdf->Output('', 'S');
$content = chunk_split(base64_encode($content));
$mailto = $email;
$from_name = 'Nová škola Brno';
$from_mail = 'interaktivky@ucdis.cz';
$replyto = 'interaktivky@ucdis.cz';
$uid = md5(uniqid(time()));
$subject = 'IUč zdarma - sériová čísla';
$message = $msg;
$filename = 'iuc-seriova-cisla'.date('d-m-Y-H-i', time()).'.pdf';
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-type:text/plain; charset=utf-8\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$header .= $message."\r\n\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$header .= $content."\r\n\r\n";
$header .= "--".$uid."--";
$is_sent = @mail('interaktivky@ucdis.cz', $subject, "", $header);
echo json_encode($result);
Předem děkuji za radu
Roman
-
http://stackoverflow.com/questions/4389676/email-from-php-has-broken-subject-header-encoding
-
Neco podobneho jsem resil a nakonec jsem pouzil kondovani iso8859-2, to jedine fungovalo spravne v subjektu i v tele zpravy.
-
Predmet mailu v PHP sa musi kodovat, v predmete sa mozu vyskytovat len ASCII znaky, vsetko mimo ASCII je chybne kodovane a moze sposobit pri chybne nastavenom spam filtri aj odmietnutie mailu.
-
To se ještě ve 21.století sestavuje e-mail v PHP ručně?
-
To se ještě ve 21.století sestavuje e-mail v PHP ručně?
Máš na mysli imap_mail_compose() nebo má snad standardní PHP něco lepšího?
-
function mime_header_encode($retezec, $encoding = "utf-8") {
return "=?$encoding?Q?" . imap_8bit($retezec) . "?=";
}
$is_sent = @mail('interaktivky@ucdis.cz', mime_header_encode($subject), "", $header);
-
To se ještě ve 21.století sestavuje e-mail v PHP ručně?
A existuje snad ve 21. století nějaký rozumný důvod, proč to tak nedělat?
-
Zkuste swift nebo phpmailer, usetrite cas
http://swiftmailer.org/docs/introduction.html
https://github.com/PHPMailer/PHPMailer
-
Zkuste swift nebo phpmailer, usetrite cas
Takhle mu kazit radost ze znovuvynalezeni hranateho kola... ;D
-
Zkuste swift nebo phpmailer, usetrite cas
Žádný zázrak. Uvnitř je obyčejná funkce mail() obalená obrovskou hromadou sr*ček a ještě větší hromadou vnějších závislostí.
-
Zkuste swift nebo phpmailer, usetrite cas
Žádný zázrak. Uvnitř je obyčejná funkce mail() obalená obrovskou hromadou sr*ček a ještě větší hromadou vnějších závislostí.
Ale hovno. PHPMailer umi primo SMTP, sifrovani, podepisovani, prilohy, vsechno a poslani tohodle mailu je s nim na tri radky. Zavislosti zadny. Fakt nechapu, jak to dneska muze nekdo matlat rucne...
-
Ale hovno. PHPMailer umi primo SMTP, sifrovani, podepisovani, prilohy, vsechno a poslani tohodle mailu je s nim na tri radky. Zavislosti zadny. Fakt nechapu, jak to dneska muze nekdo matlat rucne...
Otázka zní: Potřebuje tazatel, aby mailer uměl SMTP, šifrování a podepisování? Opravdu potřebuje kvůli odeslání obyčejného e-mailu takovou obrovskou knihovnu?
-
Otázka zní: Potřebuje tazatel, aby mailer uměl SMTP, šifrování a podepisování? Opravdu potřebuje kvůli odeslání obyčejného e-mailu takovou obrovskou knihovnu?
Zapomnel jsem zminit, ze mimojine jeste resi kodovani ;) PHPMailer je v jednom souboru a nema zadny zavislosti a proste funguje. Timhle stylem se muzeme ptat, jestli opravdu potrebuje obrovske PHP, kdyz muze ten web naprogramovat v C nebo rovnou v assembleru, fakt na palici todleto.
-
Otázka zní: Potřebuje tazatel, aby mailer uměl SMTP, šifrování a podepisování? Opravdu potřebuje kvůli odeslání obyčejného e-mailu takovou obrovskou knihovnu?
Ty ses chytrej jak Jirsak.
-
To je přesně to co jsem potřeboval s ohledem na moje téměř nulové znalosti PHP.
DÍKY, DÍKY, DÍKY!!! Funguje to!
Roman
function mime_header_encode($retezec, $encoding = "utf-8") {
return "=?$encoding?Q?" . imap_8bit($retezec) . "?=";
}
$is_sent = @mail('interaktivky@ucdis.cz', mime_header_encode($subject), "", $header);
-
To je přesně to co jsem potřeboval s ohledem na moje téměř nulové znalosti PHP.
DÍKY, DÍKY, DÍKY!!! Funguje to!
Roman
function mime_header_encode($retezec, $encoding = "utf-8") {
return "=?$encoding?Q?" . imap_8bit($retezec) . "?=";
}
$is_sent = @mail('interaktivky@ucdis.cz', mime_header_encode($subject), "", $header);
není zač :-)
-
Otázka zní: Potřebuje tazatel, aby mailer uměl SMTP, šifrování a podepisování? Opravdu potřebuje kvůli odeslání obyčejného e-mailu takovou obrovskou knihovnu?
Zapomnel jsem zminit, ze mimojine jeste resi kodovani ;) PHPMailer je v jednom souboru a nema zadny zavislosti a proste funguje. Timhle stylem se muzeme ptat, jestli opravdu potrebuje obrovske PHP, kdyz muze ten web naprogramovat v C nebo rovnou v assembleru, fakt na palici todleto.
Třeba jen existují lidi, kteří nechtějí do svých projektů cpát cizí knihovny, z mnoha různých důvodů. Chápu, že to v dnešní době PHP frameworků a různých dalších sraček okolo může vypadat zvláštně, ale opravdu takoví lidé ještě (díkybohu) existují. A tihle lidé nemusí řešit, proč v jejich projektu něco nefunguje podle jejich představ nebo proč se nějaká jeho část chová divně (jinak než by předpokládal), protože díky čistému PHP má (i když za cenu většího množství práce) dokonalý přehled co, proč a jak to funguje.
-
tihle lidé nemusí řešit, proč v jejich projektu něco nefunguje podle jejich představ nebo proč se nějaká jeho část chová divně (jinak než by předpokládal)
Tohle je strašná naivita. Udržovaná, roky vyvíjená knihovna s velkou komunitou kolem bude řešit většinu běžných problémů a bude mít vychytanou většinu bugů. Když se k takovému kódu dostane někdo cizí, tak je vysoká pravděpodobnost, že už tu knihovnu bude znát a ušetří se díky tomu plno času. Nějaký na koleně stlučený bastl, který znáš možná ty sám, je dobrý tak pro nějakou one-man show, v praxi je ale tohle znovuvynalézání kola jedině na obtíž. Investuj energii tam, kde je to potřeba a neřeš věci, které už jsou tisíckrát vyřešené.
-
tihle lidé nemusí řešit, proč v jejich projektu něco nefunguje podle jejich představ nebo proč se nějaká jeho část chová divně (jinak než by předpokládal)
Tohle je strašná naivita. Udržovaná, roky vyvíjená knihovna s velkou komunitou kolem bude řešit většinu běžných problémů a bude mít vychytanou většinu bugů. Když se k takovému kódu dostane někdo cizí, tak je vysoká pravděpodobnost, že už tu knihovnu bude znát a ušetří se díky tomu plno času. Nějaký na koleně stlučený bastl, který znáš možná ty sám, je dobrý tak pro nějakou one-man show, v praxi je ale tohle znovuvynalézání kola jedině na obtíž. Investuj energii tam, kde je to potřeba a neřeš věci, které už jsou tisíckrát vyřešené.
A ty chyby, které v té knihovně jsou, ti vůbec nevadí?
-
A ty chyby, které v té knihovně jsou, ti vůbec nevadí?
Vzhledem k tomu, že jí používá 100000x víc lidí, než tu, kterou si sám ubastlíš, tak jich tam oproti ní bude minimum. Víc očí víc vidí. Děláš, jako kdyby to, že si něco ubastlíš sám, znamenalo, že tam nejsou chyby :-D To jsi mě opravdu pobavil.
-
Tohle je strašná naivita. Udržovaná, roky vyvíjená knihovna s velkou komunitou kolem bude řešit většinu běžných problémů a bude mít vychytanou většinu bugů. Když se k takovému kódu dostane někdo cizí, tak je vysoká pravděpodobnost, že už tu knihovnu bude znát a ušetří se díky tomu plno času. Nějaký na koleně stlučený bastl, který znáš možná ty sám, je dobrý tak pro nějakou one-man show, v praxi je ale tohle znovuvynalézání kola jedině na obtíž. Investuj energii tam, kde je to potřeba a neřeš věci, které už jsou tisíckrát vyřešené.
Presne tak. Navic kvuli presne takovymdle matlalum je SMTP protokol tam, kde je. Stylem "spatlam to at to funguje" a po pul roce se zacnu divit, ze maily nechodi napr. na gmail...a na vsechny ostatni chodi jenom proto, ze jim je prednejsi spokojeny uzivatel nez dodrzovani RFC...
-
Třeba jen existují lidi, kteří nechtějí do svých projektů cpát cizí knihovny, z mnoha různých důvodů. Chápu, že to v dnešní době PHP frameworků a různých dalších sraček okolo může vypadat zvláštně, ale opravdu takoví lidé ještě (díkybohu) existují. A tihle lidé nemusí řešit, proč v jejich projektu něco nefunguje podle jejich představ nebo proč se nějaká jeho část chová divně (jinak než by předpokládal), protože díky čistému PHP má (i když za cenu většího množství práce) dokonalý přehled co, proč a jak to funguje.
Tohle se lepičům velmi blbě vysvětluje. Zpravidla argumentují velkým množstvím spokojených uživatelů knihovny či frameworku, ale dovnitř se na ten bastl nepodívají. Hlavně, že jim to "nějak" funguje a když ne, mají to na koho svést.
-
To je marný. Ono vás tohle poblouznění přejde chlapci, nejpozději po několika letech praxe. Taky jsem kdysi takhle chytračil, všechno jsem uměl nejlíp, psal jsem si všechno sám a dneska vám můžu zodpovědně říct, že to byla jenom hromada blbých keců a promarněného času. Poučte se z chyb ostatních. To je všechno, víc se k tomu nebudu vyjadřovat.
-
Tohle je strašná naivita. Udržovaná, roky vyvíjená knihovna s velkou komunitou kolem bude řešit většinu běžných problémů a bude mít vychytanou většinu bugů. Když se k takovému kódu dostane někdo cizí, tak je vysoká pravděpodobnost, že už tu knihovnu bude znát a ušetří se díky tomu plno času. Nějaký na koleně stlučený bastl, který znáš možná ty sám, je dobrý tak pro nějakou one-man show, v praxi je ale tohle znovuvynalézání kola jedině na obtíž. Investuj energii tam, kde je to potřeba a neřeš věci, které už jsou tisíckrát vyřešené.
Presne tak. Navic kvuli presne takovymdle matlalum je SMTP protokol tam, kde je. Stylem "spatlam to at to funguje" a po pul roce se zacnu divit, ze maily nechodi napr. na gmail...a na vsechny ostatni chodi jenom proto, ze jim je prednejsi spokojeny uzivatel nez dodrzovani RFC...
Pánové, posílání korektních mailů z PHP podle RFC je kód na pár desítek řádků čistého PHP. PHPMailer znám od začátku jeho vzniku, přesto jsem neměl potřebu nikdy ho použít (kecám, jednou jsem to udělal). Mám vlastní odladěný kód přibližně stejně starý (ale spíše starší, cca. 15 let), jako je PHPMailer, takže opravdu nevidím jediný důvod, proč bych se ho měl vzdát a začít používat nějakou cizí knihovnu, jejíž vývoj nemám absolutně pod kontrolou, a tudíž nemám zaručeno, že za pár měsíců/let bude fungovat tak, jak potřebuji. O veřejně známých zneužitelnostech nemluvě.
Používejte ve svých projektech co chcete, je to jen vaše věc, ale proboha nevnucujte lidem, kteří to dělají jinak, svůj názor jako jediná správný. To vás totiž usvědčuje. Z čeho? Domyslete si sami.
PS: dost často se v podobných souvislostech objevuje kontextově hanlivý pojem "one man show", nejinak tomu bylo v této diskuzi. Nicméně rozmanitost, to je to, co drží celý svět pohromadě. Kdyby bylo vše na světě stejné, dávno by to bylo degenerováno, zneužito, zahubeno. Nejinak tomu je v digitálním světě. Známé projekty jsou úspěšně napadány, protože jejich chyby jsou obecně známy a díky tomu jsou snadno zneužitelné. Nedělám si iluze, že píšu kódy bez chyb. Nicméně jejich praktické zneužití je výrazně složitější, než chyby unifikovaných systémů, ke kterým si stačí stáhnout příslušný předpřipravený exploit. Howgh.
-
Pánové, posílání korektních mailů z PHP podle RFC je kód na pár desítek řádků čistého PHP.
Tohle je vlastně patrné už z úvodního dotazu, který obsahuje téměř úplný kód a nic jiného, než čisté PHP, v něm není.
PHP je ve své podstatě vlastně frameworkem. Není nutné nad framework stavět další frameworky.
PS: dost často se v podobných souvislostech objevuje kontextově hanlivý pojem "one man show", nejinak tomu bylo v této diskuzi. Nicméně rozmanitost, to je to, co drží celý svět pohromadě. Kdyby bylo vše na světě stejné, dávno by to bylo degenerováno, zneužito, zahubeno. Nejinak tomu je v digitálním světě. Známé projekty jsou úspěšně napadány, protože jejich chyby jsou obecně známy a díky tomu jsou snadno zneužitelné. Nedělám si iluze, že píšu kódy bez chyb. Nicméně jejich praktické zneužití je výrazně složitější, než chyby unifikovaných systémů, ke kterým si stačí stáhnout příslušný předpřipravený exploit. Howgh.
Pod tohle se mohu klidně podepsat. Kde ta lůza bere jistotu, že jednotlivec nemá pravdu? Pokud má knihovna 4k řádek a mé vlastní řešení má jen 20 řádek, kde asi bude víc chyb? V těch 4k řádcích, které si nikdo ani pořádně nepřečte nebo v těch 20, které jsem si vypiloval za kratší dobu, než za jakou bych se naučil používat nějaký framework?
Tazatel zde v podstatě uveřejnil celý zdrojový kód svého odeslání mailu a následně i záplatu, která vyřešila jeho problém. Napadlo někoho z přítomných (kromě mne a TKL) vyhledat v tom kratičkém kódu chyby, kterých se tazatel dopustil, nebo všichni ve své zaslepenosti věří pouze nějakým externím knihovnám a frameworkům?
-
Kde ta lůza bere jistotu, že jednotlivec nemá pravdu?
Aaaa, hle - další zneuznaný vynálezce hranatých kol... ::) ;D
-
Kde ta lůza bere jistotu, že jednotlivec nemá pravdu?
Aaaa, hle - další zneuznaný vynálezce hranatých kol... ::) ;D
Ale kdeže. Kolo je v tomto případě PHP funkce mail().
-
Šijete si vlastní oblečení? Chováte vlastní prasata? Postavili jste si vlastní barák? Navrhli a zkonstruovali jste si vlastní auto? Děláte všechno třikrát tak dlouho, ale hlavně jinak? Ne? Tak to jste akorát posraný lepiči.
-
Skutečně skvělá knihovna, když se musí používat takhle
$mail = new PHPMailer(true);
$mail->CharSet = 'utf-8';abychom v odchozích e-mailech neměli defaultní ISO-8859-1. V dokumentaci o tom není ani "ň".
A to "true" určitě bude pro mnohé uživatele také hádankou.
-
Šijete si vlastní oblečení? Chováte vlastní prasata? Postavili jste si vlastní barák? Navrhli a zkonstruovali jste si vlastní auto? Děláte všechno třikrát tak dlouho, ale hlavně jinak? Ne? Tak to jste akorát posraný lepiči.
Takze mi dalsi sa na vsetko kto robi niekto iny, vyserieme a budeme sa spoliehat len na nich. A ked pomru, pomrieme aj mi, lebo sme sa na to vsetko vy....
Programovanie stylom lepim z toho co uz niekto spravil a pritom tomu hovno rozumiem je $$#$%%#. Staci sa pozriet na par projektov a cloveku je hned zle.
-
Ano, to je opravdu šokující odhalení, že jiné než defaultní kódování je potřeba na jednom řádku nastavit Daleko lepší to lemtat na 50 řádkách sám.
-
Ano, to je opravdu šokující odhalení, že jiné než defaultní kódování je potřeba na jednom řádku nastavit Daleko lepší to lemtat na 50 řádkách sám.
Tak proč to není v dokumentaci?
Proč jsou všechny atributy "public" a ne "privat" jako ve slušných projektech? Proč má třída skoro 4000 řádek jako od prasat?
-
Šijete si vlastní oblečení? Chováte vlastní prasata? Postavili jste si vlastní barák? Navrhli a zkonstruovali jste si vlastní auto? Děláte všechno třikrát tak dlouho, ale hlavně jinak? Ne? Tak to jste akorát posraný lepiči.
To je ale hodně divoké přirovnání.
-
Ano, to je opravdu šokující odhalení, že jiné než defaultní kódování je potřeba na jednom řádku nastavit Daleko lepší to lemtat na 50 řádkách sám.
Aha, takže zatímco napsat si vlastní funkci na 50 řádků je nepřekonatelný problém, tak použít místo toho třídu o velikosti 4kB je v pořádku. To zní logicky.
-
Ta trida uz nemuze bejt jednodussi a zdrojak citelnejsi, s hromadou komentaru.
Dokumentace k API zde - http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html
Predpokladam porad cely spatne...
By me zajimalo, co udelate, az PHP tuhle tridu jednou prepise do C a zakomponuje ji do standardni distribuce, stejne jako tam jsou funkce na zpracovani XML atd. Predpokladam ji budete okazale ignorovat.
-
Aha, takže zatímco napsat si vlastní funkci na 50 řádků je nepřekonatelný problém, tak použít místo toho třídu o velikosti 4kB je v pořádku. To zní logicky.
Ta třída PHPMailer samotná má 136 KB. Má 3883 řádek.
-
Predpokladam porad cely spatne...
Samozřejmě. Prostě jseš nechutnej lepič, všichni jsme lepiči a nechápeme tu ohromnou výhodu, když si to kolo můžeš znova objevit. Zvlášť výhodné to je, pokud tomu (jako tazatel) vůbec nerozumíš. ;D ;D ;D
-
Ta trida uz nemuze bejt jednodussi a zdrojak citelnejsi, s hromadou komentaru.
Dokumentace k API zde - http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html
Predpokladam porad cely spatne...
Ta dokumentace je k ničemu, o použití UTF-8 tam není ani zblo. To už je jednodušší si to najít v tom zdrojáku.
By me zajimalo, co udelate, az PHP tuhle tridu jednou prepise do C a zakomponuje ji do standardni distribuce, stejne jako tam jsou funkce na zpracovani XML atd. Predpokladam ji budete okazale ignorovat.
Počkám si na to, až budou odstraněny chyby, opraveno rozhraní a skutečně bude zabudována do standardní distribuce PHP. Pak ji možná budu používat. Do té doby k tomu nemám důvod.
-
Az jednou vyjdes z mamahotelu tak zjistis, ze fakt neni duvod si neco takovyho matlat sam. Fakt si tak malo cenis vlastniho casu ze sis psal vlastni reseni? inu tvoje blbost, ja ten cas radsi venuju sobe nebo rodine.
4k radku kodu je nejak moc nebo v cem to vadi? time is money.
-
Ta dokumentace je k ničemu, o použití UTF-8 tam není ani zblo. To už je jednodušší si to najít v tom zdrojáku.
Tak pak je tam jeste par prikladu. Proc by tam melo byt zminovany UTF-8? Je tam jasne zdokumentovana vlastnost $CharSet.
Počkám si na to, až budou odstraněny chyby, opraveno rozhraní a skutečně bude zabudována do standardní distribuce PHP. Pak ji možná budu používat. Do té doby k tomu nemám důvod.
Takze jaky presne chyby tam jsou a co je spatne s rozhranim? Je to open source project na GitHubu, takze misto psani blabolu do diskuze je tam muzes jit opravit.
-
Az jednou vyjdes z mamahotelu tak zjistis, ze fakt neni duvod si neco takovyho matlat sam. Fakt si tak malo cenis vlastniho casu ze sis psal vlastni reseni? inu tvoje blbost, ja ten cas radsi venuju sobe nebo rodine.
V mamahotelu už dávno nebydlím a netuším, proč to sem taháš, když to s tématem nesouvisí.
Proč bych měl preferovat cizí knihovnu před vlastní 50řádkovou knihovnou? To mi hlava nebere. Když už jsem si ji jednou napsal, tak ji budu používat, ne?
4k radku kodu je nejak moc nebo v cem to vadi? time is money.
Ano, je to moc - třída by neměla mít víc než cca 65 řádek. Navíc PHPMailer má chaotické rozhraní. Něco přes public atributy, něco přes settery. Porušuje všechna možná pravidla kulturního programování, o nějakém SOLID si můžeme nechat jen zdát. Je to prostě takový slepenec, který funguje jen silou vůle a je obtížně udržovatelný.
-
Ano, je to moc - třída by neměla mít víc než cca 65 řádek.
Kristova noho, to je zas "poučka" jak vod Jirsáka. ;D ::)
-
Je tam jasne zdokumentovana vlastnost $CharSet.
Jasně? Začátečník takovou vlastnost v tom kvantu snadno přehlédne. Skutečně si myslíš, že řádek
$CharSet :
The character set of the message.
je vyhovující dokumentací?
Počkám si na to, až budou odstraněny chyby, opraveno rozhraní a skutečně bude zabudována do standardní distribuce PHP. Pak ji možná budu používat. Do té doby k tomu nemám důvod.
Takze jaky presne chyby tam jsou a co je spatne s rozhranim? Je to open source project na GitHubu, takze misto psani blabolu do diskuze je tam muzes jit opravit.
Rozhraní je nejednotné, každá vlastnost se nastavuje jinak. To jsem ostatně už psal. První chybou je, že po zavolání konstruktoru vznikne nevalidní objekt. Ta chyba je tak hluboko zanesena v systému, že nemá smysl ji opravovat - je lepší ji napsat celou znovu. Nevidím důvod, proč bych měl opravovat nějakou cizí knihovnu, kterou k ničemu nepotřebuji. Když už bych ji potřeboval, tak bych udělal její fork a zcela ji překopal.
-
Když už bych ji potřeboval, tak bych udělal její fork a zcela ji překopal.
Duhovou teorií a nefalšovaným nadšením nabitý mladík versus každodenní šedivá realita. Celý zbytek světa to dělá špatně a přitom to ti ubozí lidé ani neví! To je prostě kouzelné, jak se ten nedoceněný geniální hoch vzteká. Roztomilé.
-
Celý zbytek světa to dělá špatně a přitom to ti ubozí lidé ani neví!
Jsem také zdrcen. Po zjištění, že zavoláním konstruktoru vznikne nevalidní objekt už skoro hodinu přemýšlím o sebevraždě.
(https://suicidepreventioncu.files.wordpress.com/2014/10/727-computer-reaction-face-gun-shoot-head-suicide-an-hero.png)
-
Proč bych měl preferovat cizí knihovnu před vlastní 50řádkovou knihovnou?
Z meho pohledu: kolik promile funkcionality obslouzis?
Z pohledu mych zakazniku: co s tvoji onemanshow budu delat kdyz te sejme auto?
Ano, je to moc - třída by neměla mít víc než cca 65 řádek.
zadek vody. Lepsi joke tady dlouho nebyl. Jako kdo rekl tuhle "svatou" debilitu? Ty s Jirsakem? A ted tu o getterech a setterech!
-
Takze mi dalsi sa na vsetko kto robi niekto iny, vyserieme a budeme sa spoliehat len na nich. A ked pomru, pomrieme aj mi, lebo sme sa na to vsetko vy....
Programovanie stylom lepim z toho co uz niekto spravil a pritom tomu hovno rozumiem je $$#$%%#. Staci sa pozriet na par projektov a cloveku je hned zle.
Kargo kult mezi našimi programátory hluboce zakořenil. Podle názorů některých diskutujících je patrné, že mnozí ani netuší, že by se z tohoto područí měli vymanit a naučit se programovat.
-
Kdo mi to "vymaneni" zaplati? Ty? Trh je neuprosny. Rychle a za slusnou cenu, aby to fungovalo. Jestli ma trida 60 radku nebo 4k to zakaznik VUBEC nezajima. Takze kdyz zakaznik chce neco co uz nekdo vymyslel tak proc bych to vymyslel znovu. Proc bych se mel branit pouzit na webu colorbox nebo owlcarousel? Mam si napsat vlastni klon jquery nebo phpka?
-
Kargo kult mezi našimi programátory hluboce zakořenil. Podle názorů některých diskutujících je patrné, že mnozí ani netuší, že by se z tohoto područí měli vymanit a naučit se programovat.
Zatímco ty se permanentně "vymaňuješ" a vymýšlíš stopadesátý klon WordPressu s třídami o maximálně 65 řádcích, bez getterů a setterů a vůbec splňující další tisíce debilních pouček, tak oni už stihli dotáhnout do konce další tři projekty. A není to tak, že by pro ně byl problém napsat si vlastní klony všech zaběhaných knihoven, jen k tomu prostě nevidí žádný důvod. Mají totiž schopnost myslet i trochu pragmaticky, což tobě bolestně chybí. Je vtipné, že o cargo kultu mluvíš zrovna ty, který si myslíš, že aplikování těch nejúchylnějších teoretických mouder, odtržených od reality z tebe automaticky dělá nejlepšího programátora na světě.
-
hehe, dobře jste mu naložili pindalovi. Viděl jsem pár takových matlalů, co se nic praktického nenaučili, protože většinou jde jen o to prohlédnout si tu dokumentaci, která bývá u relevantních knihoven kvalitní. Stejně tak je mnohem lepší věnovat čas do průzkumu opensource knihoven a zjistit, které jsou dobře udržované, než si všechno bastlit sám.
function mime_header_encode($retezec, $encoding = "utf-8") {
return "=?$encoding?Q?" . imap_8bit($retezec) . "?=";
}
$is_sent = @mail('interaktivky@ucdis.cz', mime_header_encode($subject), "", $header);
už vídím jak na nějakou školu na maloměstě přijde za 5 let někdo jinej, kterej to PHP vlastně ani moc neumí (já taky ne, spíš vůbec) a uvidí tohle. Nic proti autorovi, odpověď na otázku to je a zdá se správná.
oproti tomu:
$mail = new PHPMailer(true);
$mail->CharSet = 'utf-8';
je pastva pro oči. To pochopí každej. Sice nevím, proč má nebo musí mít konstruktor s parametrem, ale když budu chtít, tak si to přečtu v doc.
Pak tu čteme, proč někde beží java 1.4 na centosu 4.2 a nejde to updatount protože tam nějaký Kit namatlat svoji samohonku, která mu přišla ve své době geniální, ale jaksi neobstála.
Takových historek jsou tisíce. Naposledy jsem viděl v jednom menším řetězci hospod, jak nějakej podobnej vtipálek tam pral přes síťovej disk do jednoho SQLlite souboru skoro z 10 klientů najednou, protože Postresql je složitý a zbytečný (on nerozumí tomu proč je potřeba), když to spadne, tak si klient vytváří nějakou lokální databázi taky sqlite a pak se to snaží narvat do centrálního souboru. a pak se to posere. Nějaké ORM knihovny? to je pro lepiče kódu. nazadekil si tam nějaké svoje pseudo-DAO v delphi - "páč pascal rulez pičo, učilismeseho na průmyslovce" a pral to tam hlava nehlava. Myslím, že modří už vědí, že se to neustále sralo a padalo a mizela data. Samohonič musel vracet skoro 450k za zpackanej projekt. Týpek s hospodama samozřejmě naprášky, protože už na to přeškolil personál - evidence skladu, tržeb, registrace směn pesonálu a docházka, rezervace a spousta dalších drobností. Když jsem mu řekl, že na tohle nikdo soudnej nesáhne třímetrovou chlorovanou tyčí na dráždění opic a že je to prostě mrtvý, ať si sežene někoho soudnýho, kterej si "slepí" hibernate a spring a nějakej JS, nebo GUI framework a cena by se měla pohybovat tak na polovině, ale já na to nemám čas, tak akorát objednal dvojitý vizoury a smutně koukal.
Asi si na tyhe příběhy založím blog. To jsou neuvěřitelný wtf momenty, co člověk na freelance vidí.
A nejhorší na tom je, že takovýhle lidi jdou vetšinou někam učit programování, kde tě zkoušejí z bublesortu, protože v normální společnosti nemají ekonomickou relevanci.
Rozdíl mezi cargo cultem a vzorem je o tom, komu přiletí letadla s proviantem, ne o tom, kdo si o sobě co myslí, nebo co kecá.
-
Když už tady řešíte takové hovadiny, jednu vám přihodím. Proč to autor nazval
mime_header_encode když je to z lingvistického hlediska naprostý nesmysl? Předpokládám, že taky nenazýváte funkce třeba value_get nebo valueGet ale logicky get_value nebo setValue
-
Když už tady řešíte takové hovadiny, jednu vám přihodím. Proč to autor nazval
mime_header_encode když je to z lingvistického hlediska naprostý nesmysl?
http://php.vrana.cz/kodovani-hlavicek-e-mailu.php (http://php.vrana.cz/kodovani-hlavicek-e-mailu.php)
Pokud by ses obtěžoval googlit, našel bys to i v Drupalu.
Osobně bych tu metodu nazval encode(), takže bych snad tvůj lingvistický cit nedráždil.
-
To je přesně to co jsem potřeboval s ohledem na moje téměř nulové znalosti PHP.
DÍKY, DÍKY, DÍKY!!! Funguje to!
Roman
function mime_header_encode($retezec, $encoding = "utf-8") {
return "=?$encoding?Q?" . imap_8bit($retezec) . "?=";
}
$is_sent = @mail('interaktivky@ucdis.cz', mime_header_encode($subject), "", $header);
Zkus ještě vylepšenou verzi:
mb_internal_encoding('UTF-8');
$is_sent = @mail($email, mb_encode_mimeheader($subject), "", $header);
-
Když už tady řešíte takové hovadiny, jednu vám přihodím. Proč to autor nazval
mime_header_encode když je to z lingvistického hlediska naprostý nesmysl? Předpokládám, že taky nenazýváte funkce třeba value_get nebo valueGet ale logicky get_value nebo setValue
Protože to je v podstatě opak PHP funkce imap_mime_header_decode(). Takže si svůj lingvistický kroužek s podtitulem "Jak správně pojmenovávat funkce tak, aby je pochopila i sekretářka z ČEZ" prosím otevřete přímo na fóru projektu PHP.
-
už vídím jak na nějakou školu na maloměstě přijde za 5 let někdo jinej, kterej to PHP vlastně ani moc neumí (já taky ne, spíš vůbec) a uvidí tohle. Nic proti autorovi, odpověď na otázku to je a zdá se správná.
Aha, takže používat pro tvorbu PHP projektu výhradně cizí knihovny (protože dokumentace) je správné proto, aby se v tom mohl za 5 let vrtat někdo, kdo PHP skoro(nebo vůbec) neumí? Tak tomu říkám neprůstřelná logika.
-
už vídím jak na nějakou školu na maloměstě přijde za 5 let někdo jinej, kterej to PHP vlastně ani moc neumí (já taky ne, spíš vůbec) a uvidí tohle. Nic proti autorovi, odpověď na otázku to je a zdá se správná.
Aha, takže používat pro tvorbu PHP projektu výhradně cizí knihovny (protože dokumentace) je správné proto, aby se v tom mohl za 5 let vrtat někdo, kdo PHP skoro(nebo vůbec) neumí? Tak tomu říkám neprůstřelná logika.
To je neprůstřelná logika programátorské dělnické třídy. S tím nic moc nenaděláš.
Zkusil sis tu funkci mb_encode_mimeheader()? Mně se zdá lepší, než se to snažit slepovat. Na rozdíl od funkce imap_8bit() mi funguje všude.
-
Zkusil sis tu funkci mb_encode_mimeheader()? Mně se zdá lepší, než se to snažit slepovat. Na rozdíl od funkce imap_8bit() mi funguje všude.
Mrknu, dík za tip.
-
Zkusil sis tu funkci mb_encode_mimeheader()? Mně se zdá lepší, než se to snažit slepovat. Na rozdíl od funkce imap_8bit() mi funguje všude.
Mrknu, dík za tip.
Nezapomeň předtím zavolat funkci mb_internal_encoding('UTF-8'); Bez toho to nefunguje správně.