[php] Cannot modify header information & gd

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
kavillock
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 18 lut 2007, 08:13
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Kontakt:

[php] Cannot modify header information & gd

Post autor: kavillock »

a więc w necie znalazłem przykładowy kod dodania napisu do pliku graficznego ale otrzymuję taki oto zlepek znaków

Kod: Zaznacz cały

Warning: Cannot modify header information - headers already sent by (output started at /var/www/test/a.php:1) in /var/www/test/a.php on line 3
?PNG  ??? IHDR???i???{?????9????IDATx??}i???9w?????????V$!Z?I?1?????i??Lt??1?6??Lwt???n?ai#????e?A??R?Uo_r?w~d?SI?*?r?T??O?|/_f????{?'????,KSMt\)?P???B?!???i?RJ???p?m1l?\??))??????$?+zR ??es???L&?*??|?(?????q$?f(P?\?Tp? 8?g?x<?i???9B??x??"P??.?l?????L#?C?0??,????w?~??'O??????~?3? @K?????yH)?O???????:??T*? ?P?t?<??????mGJV@:?S,???%/~?P?b?9???{???Çvt??? e^EEt?????v$>?qNU?P(????*?r?$?-?t???r?eY????????|??????- ??]_|?'?jk?=??\(.??5?@???~???c?zCcM:?:|?p2?????m?s??w}??B?2???? %???`??j??n????(?XCC]2?{??E!?ei? E\G???!??WQ??bA???I??Se??Kx?~T^w?? i???3?H$????????t:o?f0?4}?m?Tz??M ????? W???????Q??~? ????W8?TU?h4j??(??????]R?b?h?C?>???X?r9 h?????@?R?/?‡ ??8W?J)?????r ?L?Yv1?I???????a??8?k???~????????S@l?>????s?,~?o<??C? ?\?I??1p???1???d?x?;)%!?W????g?m??]???/????o?@??y??Y?P?????%?{?i?FNi?@ ?P8?G/?o????{+????+?U?`??D?i ?!TE#?t-???????w???>?\??1E???g???h???hlh?o?0?(?<??y???: ???o?????|???7?}w_wowUE?^l??;??|???????p???@Q(?4 e?]=??es????x?O.?;????_??~?HE???k_0??h?&?F?o??V/c>?9G& gt;|B?B???????TQ??Z?3?????|??}?Y?x????S?o^?g???RJ!<???=.P??a ?????? ???5VJ??.?M^?S(??@????-]?s??{ uy/ ????Y???%?????b^??|> ?????IC???Oq?R:8??3???m????????.6?`?P@?*c@??dR??_8?$?.DF`g$spb????E!F????j]?[J?oW5??L&??????ˇ::R?]{????8q??K>?M???c1????Y+?MW\B??D??X???v?o??Cđ??!?/tB???b1?Mwv????{??q??1?V4U%??????^??vD?X ???BI??)?H???jmcD??9%?p?E ??x??R(?=??Ţ?@{z???O?r???p??????v?i8* ?1 q7??<?B'QU?Ksf???<??o,??^|?4???d2yMS{z?Ar?)? ???BD??X?????????R?8? ?R?*??????]??4?q?_>?b8l?~??L&??f2USUUq?qlJ?D???z?r?h?????P0?p8??W>|?]J??@2?i?z??=????m????=???yO8??0F???&?F??NL?? ! %x?????hk????7l??C?O?/Y:7?Mg????~?h??z????1? ż?8?3@??d???8?L?R?( !@?q?????[?g???x"??q??Y ????mW??wn,Z?\>*W$?A"??V'??@?kJ??@F??nY6???? {??t] ?tB ?N56%~???k???????o?s?+W??Tz%m?6?r?2I ???? R ?|?????:?!???????$S}?=?KTD|p????7??????_???m[?)?Q?d?|?E?????? ??????8tu?|????????_??{???t>???????H,^U??? %?$E???q?3&?W???4??B ??? e@??'?????????_$?K'??g_N??O?l}?k??l?????Q? (?C?`?.W?i??wE??%??^?eX,u]'?f????s?,(? ??W??3[o?m???W?^?k?o?h4Z?DAI<???z6Ev}??+&??m[Q?,p ???j???x?m?[?7??\]Uw??????>??8?y H??????x?t??Nw?1J??m??D"QSS??K??74-Z??+??H???PSSu??@?q??-Y%??Tm??s 0a?BJ???`6???b??|?o?????hB???|{%?m????????H&?]? !??L????U??aY????@)5M3?J=z???ukW?:????45?C.???f??R???4R%%?q N??j?d?*m?1N???m?J?P(dY?'j??5F???????g??R? ??E??Z6??pEmMS?J@?vT~}??8?????mM???????'?I?? Rz?\????:<???B1???t?m?!B?%?`??a??G????k?qpw??????????i??iRH?84? ????X?X????R?T__?jj?P????2?#?????RJ)/?$? ?n??+PEQ8????????c?p8*????L$b?3D?wy?=!t2?W.w?????!"!?0??? ???\??]{4?\?vm?d????'??3?s????!@J?_????]91?7?c?P?R,???J%s??'?\?~??????T:j?!?P "????x??n}?:l9G?R????JvKs???N?:??X'??9?mKJ?sU?*??]U?a/O]Q?l,?G a????WW5???a???^x???d*??g-;/????n?QJ}u?w?6!$T$j??xSc??w?]( }?Q??4]!?X,?!?.x+??? ???K9?J??)!?jj??p]m???h???SO???y^UU?S??d&??4??,??|o?B???m?qg????X,V_?f?s?,8????^QU5??x?w??H?P,????I?eG?????##????? ?BUU?5}?=????Z?e?n>_?????Q?\:??q??????}7??]%??LU??BX2??{O<^?b???d?+??g!???]?[???????@y????@ ??$??[?+???g??p?B]3_???Q??@|?|??&Sn?sK?'????Q?M#XYQ[]]?d?????{?u?l.)?????f-??^??wm?:??+\??I??b?qDc?,??;??u?5?>? ?|?EG???U?}y???:?MS ?+?d7HJ@??@t??4M?lmiu]w?Y?????}?r?B<??q???,?????0?s??O????%8? ??@@i?Nuu5c?J????$oZ??T*?J?0 ???)$DU?|???8?Z&-???`?f3?TEUU?????n???|???w???G????l??o =??5a??rw??$?????!]??????[?f57?B1_YY?)Z6?W .??|?+?n??w??-!\?0MC??r---R??????????{??(??y??0????6??$?=1?? ?????H$H?????>??@{????a?N????_/a?uV???I\?s??.PRB%?b??y?a ?+BHMW?#G?R?????tw?(???X???o???!?????f?rJi]]????.]?{??}??? ??L?@???,???Ub??1???D4;0¤??s??j??k?o??\oo7?????s??X~ ?X??mOX+???x\(gr?D?????1?hl??l???9??m??O??p??a*????:??5S??3?? (!?R?T???ij?5w?|B?c?=n?:??|?@????"$L?Wt???FŰ|`2??"A?{?(?Bx??-?< ???s?PJ???L30?l.?(WU?/?yi?az?g? ?2z???Ro???j?|??/=?????r??l6???9L?GLT??E??$?q??CQEQ6l??????c??8q??"^(?N?<??@???>???n?j????`????1?v)?g?eT?e?<??dj?R???+d??Ll???? ??*#?m ?Db???ZC?????;v9|TQJ???? ?\"q=g?0u?U?<??y?Pq???&?(???o?y?d?????^QY2?????8gT?'?G????0??? %!??8??PU?x????Q??M?>??{v??s?\o_?'??<??gj ?wW ???!?X?}R???P?4UC ?z?W?-?????s?2?J W?????O??@?????Q?2^?5??i AF9cLQ8!?1.% ???????q\?E??f ???Ag0??"??????9:.??%4J?????/?????????:'O??Sw???bxqSJ)A6vz???n??R??y?ITU?????????7v????o??R??L?pu]?R??[B?1`l?r???7F?;?U?u!?sN?0?h4?+???o=??O??_]]?????-???|???TL?RJD?7#??????755=??CHd `?J????!??7=??Ow???!???@?q<)?1%?7/??~??_???|???  ;v,?N??%???i_7???d??z?q??9??b<?pO??????? ???<?s????"dx"3^?A???e?S????`E4\?y?[V?Z???h?V,?;??%S????YB???X??~(]cF? p??f?.hnn]q?D??????#???%??T:??P???{??y??p?#?cl?Y?6m:z??/????p??R???R????pk?Q???(%????mG?Q ??_Z?hqEE?m???bqF9?e??-<?`????H?????_?????????&??=z? q=;??0> ?0c?,???D?????M&?=?Pccc$???^F???H?C??8?|??T2??U??H???????v???????????e9R?n?F??o?R???J!E?X??????Vl??G??Q6?]?|??;)b????Q???x?????i??&???l?????o??f29???x?Ô?P!@?R ?ySs??d???$?p?xss??c'???Gy?u]???tWW????rI?T??(wC?|??????E1c??X?;n????]SSC__W*=??e\????????????????J(?@??!??z?rLu]?4???n?u?b??7v( ??3?????9.n?q?]???w?U!cjS?U ???_?|??(?Bn ?/d}E!?'A?<]?R^5L0F(EDt?N??{.o?_ ?}?K|?}????P?vt?p%8?WB?r??QF??E$?*???*~?????????Wwuu:??%?p?'w??????1?4?Dcc?E??w?S?`????l??4??p7_?zC??j?X????????_????g???5?we?A?e.?_?????7?:}??'?K$*m?M?3?2?we?(???i?????7,\????y?P??(??p7?8??;?? 3?@4ok[Lk??? R??7B?qb?9?3??e}|??p,S}????TJQ? 5m???????<?????f??f???7??h?7H.?d?R??aTVVj????????1??Mr? ?(??b1??z???z0?K???s????'????IEND?B`?
kod php

Kod: Zaznacz cały

<?php

// wysyłanie nagłówka, tutaj przekazuje o tym że nadchodzi plik graficzny PNG

header("Content-type: image/png"); 

 

// przypisanie tekstu

$string = 'Hello World!';



$im = imagecreatefromjpeg( 'button1.jpg' ); 



// tworzenie obiektu z kolorem, w tym przypadku pomarańczowym (model RGB)

$orange = imagecolorallocate( $im, 220, 210, 60 ); 

// obilczanie pozycji tekstu

$px = ( imagesx( $im ) - 7.5 * strlen( $string ) ) / 2; 

// dodawanie tekstu do obrazka

imagestring( $im, 3, $px, 9, $string, $orange ); 

// wysyłanie obrazka (np. do przeglądarki)

imagepng( $im ); 

// zwalnianie pamięci

imagedestroy( $im ); 

?>

Riggs
Piegowaty Guziec
Piegowaty Guziec
Posty: 12
Rejestracja: 03 sty 2010, 18:06
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: [php] Cannot modify header information & gd

Post autor: Riggs »

Funkcja ob_start() na początku pliku do którego przesyłasz wygenerowany obrazek i ob_end_flush() na końcu pliku pomogą. Miałem podobny problem gdy robiłem CAPTCHA a te 2 funkcje uratowały mi sporo czasu. Generalnie dobrze je dodawać w każdym pliku (oczywiście ze session_start() jeśli robisz też logowanie itp).
kavillock
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 18 lut 2007, 08:13
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Kontakt:

Odp: [php] Cannot modify header information & gd

Post autor: kavillock »

nadal to samo
otokan
Sędziwy Jeż
Sędziwy Jeż
Posty: 65
Rejestracja: 11 gru 2008, 11:20
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [php] Cannot modify header information & gd

Post autor: otokan »

Nie masz przypadkiem jakiegoś białego znaku (np. pustego wiersza) przed <?php w /var/www/test/a.php ?
Awatar użytkownika
Ja_Szczur
Piegowaty Guziec
Piegowaty Guziec
Posty: 22
Rejestracja: 07 kwie 2008, 18:32
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Odp: [php] Cannot modify header information & gd

Post autor: Ja_Szczur »

jeśli odpalasz plik test/a.php w przeglądarce i widzisz ten komunikat (ze swojego postu), to sprawdź kodowanie znaków - ja miałem takie błędy dla utf-8 with singature (wg notepad2)
trochę teorii dla zainteresowanych: http://unicode.org/faq/utf_bom.html#bom1
jmail
Piegowaty Guziec
Piegowaty Guziec
Posty: 15
Rejestracja: 21 wrz 2009, 10:00
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: [php] Cannot modify header information & gd

Post autor: jmail »

Kod: Zaznacz cały


<?php 
$string = 'Hello World!'; 
$im = imagecreatefrompng( 'button1.png' );  
$orange = imagecolorallocate( $im, 220, 210, 60 );  
$px = ( imagesx( $im ) - 7.5 * strlen( $string ) ) / 2;  
imagestring( $im, 3, $px, 9, $string, $orange );  
header("Content-type: image/png");  
imagepng( $im );  
imagedestroy( $im );  
?> 

zamień obrazek button1.jpg na button1.png

skopiuj wklej uruchom
wizu
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 13 sty 2010, 14:35
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: [php] Cannot modify header information & gd

Post autor: wizu »

Zapisz plik jako UTF-8 bez BOM.
W notepad++ > W górnym menu "Fotmat" > Konwertuj na UTF-8 bez BOM
jmail
Piegowaty Guziec
Piegowaty Guziec
Posty: 15
Rejestracja: 21 wrz 2009, 10:00
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: [php] Cannot modify header information & gd

Post autor: jmail »

szczególnie, że jesteśmy na forum ubuntu dlatego polecasz aplikację Windową?
wizu
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 13 sty 2010, 14:35
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: [php] Cannot modify header information & gd

Post autor: wizu »

wybacz, po prostu zawsze korzystam z tego notepada i zawsze go polecam, przyzwyczajenia :P
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 12 gości