Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Текст в картинку (https://forum.antichat.xyz/showthread.php?t=81768)

dimash 21.08.2008 13:16

Текст в картинку
 
Суть скрипта такая что на лету должен почтовій ящик из $text делатся в картинку.
PHP код:

<?php if(!empty($data[3])) 
    { 
         if(
preg_match("/^[\da-z\._-]+@[\da-z\._-]+\.[a-z]{2,6}$/i"$data[3])) 
        { 
        
$padding 5
        
$font 4
        
$text $data[3]; 
        
$height imagefontheight($font) + ($padding 2); 
        
$width imagefontwidth($font) * strlen($text) + ($padding 2); 
        
$image_handle imagecreatetruecolor($width$height); 
        
$text_color imagecolorallocate($image_handle139139139); 
        
$background_color imagecolorallocate($image_handle244244244); 
        
$bg_height imagesy($image_handle); 
        
$bg_width imagesx($image_handle); 
        
imagefilledrectangle($image_handle00$bg_width$bg_height$background_color); 
        
imagestring($image_handle$font$padding$padding$text$text_color); 
        
imagejpeg($image_handle,NULL,100); 
        
imagedestroy($image_handle); 
        }  
    } 
?>

Но выводит такое.
Цитата:

яШяаJFIFяю'рлjљЁУґWЗZ‡ДПлћЦ м/ьSe.Ј/Д/ЂЮєЅС~|Pш г; |QшБбЏш’Ц_ьEЅФ/Хј{kЉ5M29-uџ?PDъ]‡‹љЪнu+ЏiћУЈjµНoЗџ |Oг;-;Дљ/†>xОГв/Г Щxb{};ЖzяЋґ±ўEб_?—Яґ–Ѕі“бщј п./`Ф4пќ–‡:zЮўоФWЕї хїь2эђ~ ©я Ч?5ќцjТфM;Зriz>ЏҐШьFХѕшј/k©x/Вц¶Z.•eЇ^>‘кЪgЊјEcu*ЯjтxІ+dТ¦ц SZшџаЇxЈRс‡?~j¶ЯШ‰бЯiЮс®Ѓ b—ZЮ©‹>™uржЯ^сч?4|gр}Џ?¦шikЁш Е3ЮшfяЕ2Iа?шЗ^Ф|q‡н†•вOj>,]+ВаoС^рsв‹ьaЁшіHс5ќнх¶…eбќK Mсњџю(|УµiхщьKkЁшbЧВ_ох}[~Уµ]CДzv·>ќyЊtЭ0йZmОЏ5ЮЇЪ|PсfЈаПќWG К][Qс?Ђ<ҐЛ©G=Жќ§j?|}бџ‡ц:ЮЎckscsЄЩ h>&‹[єС-х=}r >M"sC’хuk Bўј'Д%шакWћ&ѕш{в][?Г_ шW_Рј9вO iЦ:ЏДЇhМЮ рNЎвЯ\к6^№Чфп‰4п?Zdю3‚[Я › I¦AвgПuї‰?фшачцпГ џ лєЧ„'я„люПЉбрнЇ‡|WаЏЪД?Щ_ рЃВЪ—SџZ°ФюнюЯя…ѓ ЌХЏЉюПяЭµЖ…цЭ`лЉ+зПЃЯьfР ±mЇ¬я±ь;с‡ю_мПкЯnФµOннkВр ПцяЩяВ;cвнxѕПаЏ f?ц— ьMсfЈаї йєЖ— •ЕНзД/„ћ–=B9еЃtпьVр_Ѓu‰Ј[{›Yн¶“в;лЌ6F• ‡QЉЦk«kЛdљТpBўј'Ж?µЅДїфi|1§[xWбпВ/hЪ¦·gЇЯёЦю$шгвw„o"}«xКць!ўВ ряГ¶Ъ^їгџЭЇѓm5э>зДzv§ўТш3с'З ~+сЌј!гнм—ѕС|вн _я„FO‡ ‘xcЗWЮ7У4Йїбѕш…с+Д“/Ђп/sвЭ_Г,я‰·ц>ЅрлВ·єЬл AСEМxЗБ~шѓ \xWЖљ%—?ь7y{ўЯЯhљ’јєuьюЦфпiqк Кйх”z¶•c=Ц›v&Уµ8"“OХ-o4л›«I№{±СхЭґэkU‡ДЩџЪєЇ‰ iгoш±ї°nџQрЯШ№ЇЭ[й±\лєјЧґ¬~x*ЛGЧtЖєЦ™вмЗЅЏ ї~'шЦкКлEє}CGФь7©xїЖЮ§б kJФМ:¶ќ®шNуEЦ,µЌ?HХнЇЈФф]"кЛУи #Тюь/СЯTћЧГч·ънпЂ5-{XХьUвэ_Чх…ѕ)џЖ^їЧјC®лЪ–№Ю шk\ќEќЦ©Ё]П>‰e¤шVъKЇ ¶с«вИ,цxѓZСtкz‡Ъ.›н:?…пјK©h VeyЪК°ЮшїДS}ўЮЪ+«џн.т{?,c¶ЪўЂ <ГNш5рЫJ±єУl|7еY\л^Ч5Ќzзм|>с§ < ўи’]j“Kбяx3ДiЁx_бц…&ќаMн:Ґ®™бЛk-gW¶Ѕн|EбЭЕz=жѓЇYэ·LЅы;Й\]Y][]Y]AЁiєћ™©iуЪкz>µЈкv¶z¶…®й7–ZЖ ¬YXкъEх–§ekuХдzoАї…ъ\'ЉЯГч ЬшОЛГ–^(Цх_xї\сNґюФu][В‹хzяЕ?р“шJяWљo шѕ-b? 4п ЫиъЕ•·„|-Њiїюйpxћ+ЮПsг;/YxЈ[Х|UвэsЕ:Уш?QХuojч~/ЦµляяВOб+э^iј/вшµ?ьSбдУј7oЈлVЮрґ:7®Q@З„ь#Ґ x/N›KСоьOymq{%ь’шіЖю4µ»G±гќДzµ µђЋЦ&ЏM·ѕ‹N†v№є†Х.o.жџ—рпБ Ї†ЮшmgрЏГююОрќц‡УtTЦ5йоґЛ ©хйьS§¦x†лTџДєvµ§x–sЇиZн–± ±бнb GBѕУ®фл >Љу ѓѕ±СхЭґэkU ДЩџЪєЇ‰јiгoш±ї°nџQрЯШшAѕТ хk]?ZФuZЏ_УµяxУЖЮ4с7РxwЕґ‚OшГДZ жµuўйъ/Ќьa—б»»щь;ҐЯx›[Цґн*ЧZФnµ =>Љвь'ы/ь"ъ?ц_Шјаї‡–їс0Х/|Ї|=юЭя„?Gя‰ЌнЮямЏшIuїш�IїTФ> ЫяKЫЯіZ}џГїѕxSбµџВ?шoы;АwЪM СSXЧ§єУ.§Ч§сLzћ™вR¶ZДЗ‡µ?,u  ыN»У¬%¶фъ(ИфЯЃ фё
Значит, картинка текстом.
$text = $data[3]; добывается с файла. Такой спсоб добытия.<
PHP код:

?php  
 if (file_exists("db.csv")) { 
     $fd = fopen ("db.csv", "r");  
<?php while ($data fgetcsv ($fd10000";")) 
?> 
 <?= $data[2?> 
 <?php if(!empty($data[3]))

Заголовки если припасть в скрипте вывода картинки тогда выводит типа заголовки уже отправлена. Есть ли (settype)image?

Chaak 21.08.2008 13:21

header('Content-type'.image_type_to_mime_type(IMAGETYPE_PNG));

dimash 21.08.2008 13:47

То есть вначале.
<?php header('Content-type'.image_type_to_mime_type(IMAGETYPE_PNG));
Вместо image_type_to_mime_type - data[3];? Работает такое вообще или нет не знаю, но по-любому это заголовок, а нету никакой переменной еще "до" скрипта. То есть даже если бы и работал - то
Цитата:

Заголовки если припасть в скрипте вывода картинки тогда выводит типа заголовки уже отправлена.
.

Isis 21.08.2008 13:55

PHP код:

<?php
header
('Content-type: image/jpeg');
//....
?>


blaga 21.08.2008 14:07

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

dimash 21.08.2008 14:42

Так у меня каринка генерурутеся прост на лету с элемента массива. Прост такая функция, думаю, не используется которая явно указывает формат переменной. Есть ли тип-картинки?

Sn@k3 21.08.2008 15:00

PHP код:

<?
header 
("Content-type: image/PNG");
$anticapcha=rand(10000,99999);
$anticapcha33=$anticapcha;
$antiss=rand(1,4);
$antis1=substr($anticapcha33,0,$antiss);
$antis1.=' ';
$antis2=strlen($antis1); $antis2--; 
$antis3=substr($anticapcha33,$antis2,5);
$anticapcha44=$antis1;  $anticapcha44.=$antis3;
$immm1=rand(1,240);
$immm2=rand(1,220);
$immm3=rand(1,240);
$immm4='#'$immm4.=$immm1$immm4.=$immm2$immm4.=$immm3
$im = @imagecreate (7070)
 or die (
"Cannot Initialize new GD image stream");
$background_color imagecolorallocate ($im$immm1$immm2$immm3);
//$imaggg=imageline ($im, 12, 12, 221, 221, $text_color1);
$text_color imagecolorallocate ($imrand(222,255), rand(222,255), rand(222,255));
$text_color1 imagecolorallocate ($im000);
$text_color2 imagecolorallocate ($im1103256);
$dddaa=rand(1,53);
$dddaa1=$dddaa+15;
 
$dddaa21=rand(1,18);  $dddaa2=$dddaa21+53
$dddaa3=rand(-3,45); $dddaa33=$dddaa3+15;
//imagesetthickness($im,11);
$ffs=rand(1,2);
imagestring ($im12156,'Logotext'$text_color1);
if(
$ffs == '1') { 
imageline ($im$dddaa12$dddaa156$text_color);
imagestringup($im,5,$dddaa,55,$anticapcha44,$text_color); } else {
imageline ($im$dddaa21$dddaa33$dddaa2$dddaa33$text_color);
imagestring ($im12$dddaa21$dddaa3,$anticapcha44$text_color); }
imagepng ($im,'pp.png');
$ip=getenv("REMOTE_ADDR");
$ff1='users\check\anticapcha\ '$ff1.=$ip$ff1.='.txt';
$fffas=fopen($ff1,'w');
fwrite($fffas,$anticapcha);
fclose($fffas);
?>

вот мой когда-то писанный кусок кода, как всегда сам черт голову сломит, но работает =)
выводиться pp.png

.:EnoT:. 21.08.2008 15:01

Посмотри в примеру это http://forum.antichat.ru/threadedpost826423.html#post821969
Цитата:

Есть ли тип-картинки?
Ты же сам делаешь картинку, поэтому сам указывай тип, я например gif всегда указываю

dimash 21.08.2008 16:00

В скрипты свыше типа всего лишь картинка выводится и все, без другого гипертекста.
Имелось ввиду указать явно типа перменной картинки ($KARTINKA)$text.
В ссылке отсылается заголовок.

.:EnoT:. 21.08.2008 16:05

Цитата:

Сообщение от dimash
В скрипты свыше типа всего лишь картинка выводится и все, без другого гипертекста.
Имелось ввиду указать явно типа перменной картинки ($KARTINKA)$text.
В ссылке отсылается заголовок.

я ещё больше не понял чего ты хочешь...у тебя не выводилась картинка? поставь хидер...теперь что-то неправильно выводится...
Изъясняй яснее, а то мне ясно что ничего не ясно =\


Время: 01:14