eT` Posted March 22, 2010 Report Share Posted March 22, 2010 Tātad gribas izvilkt no viena saita XML datus un pārtaisīt uz bildi. uz localhost viss iet, bet tur php.ini kaut kas nav kā vajag. <?php $fonts = "tahoma.ttf"; $xml = simplexml_load_file('http://steamcommunity.com/id/doublet_?xml=1'); $avatar = imagecreatefromjpeg($xml->avatarIcon); if($xml->onlineState == "online") { $result = imagecreatefrompng("background_online.png"); $ot_color = imagecolorexact($result, 107, 161, 207); imagefttext($result, 8, 0, 52, 29, $ot_color, $fonts, "Online"); } elseif($xml->onlineState == "in-game") { $result = imagecreatefrompng("background_ingame.png"); $ot_color = imagecolorexact($result, 135, 198, 67); imagefttext($result, 8, 0, 52, 29, $ot_color, $fonts, "In-Game"); imagefttext($result, 8, 0, 52, 41, $ot_color, $fonts, $xml->inGameInfo->gameName); } else { $result = imagecreatefrompng("background_offline.png"); $ot_color = imagecolorexact($result, 152, 157, 155); imagefttext($result, 8, 0, 52, 29, $ot_color, $fonts, "Offline"); } imagecopy($result, $avatar, 9, 9, 0, 0, 32, 32); imagefttext($result, 8, 0, 52, 17, $ot_color, $fonts, $xml->steamID); $listnum = 1; foreach($xml->mostPlayedGames->mostPlayedGame as $mostPlayedGame) { if($listnum == 1) { $gameicon = imagecreatefromjpeg($mostPlayedGame->gameIcon); imagecopy($result, $gameicon, 169, 9, 0, 0, 32, 32); } elseif($listnum == 2) { $gameicon = imagecreatefromjpeg($mostPlayedGame->gameIcon); imagecopy($result, $gameicon, 214, 9, 0, 0, 32, 32); } else { $gameicon = imagecreatefromjpeg($mostPlayedGame->gameIcon); imagecopy($result, $gameicon, 259, 9, 0, 0, 32, 32); } imagedestroy($gameicon); $listnum++; } header('Content-Type: image/png'); imagepng($result); imagedestroy($avatar); imagedestroy($result); ?> uztaisot var_dump() izmet, ka $xml atgriež booleanu(false) tapēc mazliet atdūros :/ Quote Link to comment Share on other sites More sharing options...
Kaklz Posted March 22, 2010 Report Share Posted March 22, 2010 vareetu buut, ka allow_url_fopen ir aizliegts. Quote Link to comment Share on other sites More sharing options...
eT` Posted March 22, 2010 Author Report Share Posted March 22, 2010 (edited) tikko @ phpinfo paskatījos un jā allow_url_fopen Off hmm nezini alternatīvu? cURL varētu palīdzēt, bet ar cURL nezinu, kā lai šo atrisina :/ sucks to be noob. Edited March 22, 2010 by eT` Quote Link to comment Share on other sites More sharing options...
Kaklz Posted March 22, 2010 Report Share Posted March 22, 2010 cURL nav nekāds nezvērs, iemācīties viņu lietot nav nemaz tik sarežģīti un patiesībā ir pat ļoooooti vērtīgi. Vari mēģināt spēlēties ar parastu socket konekciju. http://php.net/manual/en/function.fsockopen.php pirmajā piemērā ir paraugs par datu iegūšanu ar HTTP GET pieprasījumu. Quote Link to comment Share on other sites More sharing options...
eT` Posted March 22, 2010 Author Report Share Posted March 22, 2010 (edited) hmm es mazliet ar cURL pamocījos. tagad pat izvada, ka esmu online bet vēl nerāda avataru un spēļu ikonas. Kods - http://paste.php.lv/05b850ffaf9c790218aa22e806a0bfe2?lang=php EDIT: pārbaudīju, rāda arī in-game EDIT2: paskatīties vari šeit - http://filmam.lv/steamid/image.php Edited March 22, 2010 by eT` Quote Link to comment Share on other sites More sharing options...
marcis Posted March 22, 2010 Report Share Posted March 22, 2010 php.net/imagecreatefromjpeg A URL can be used as a filename with this function if the fopen wrappers have been enabled. Quote Link to comment Share on other sites More sharing options...
Kaklz Posted March 22, 2010 Report Share Posted March 22, 2010 Mazāk CS jāspēlē :) Quote Link to comment Share on other sites More sharing options...
eT` Posted March 22, 2010 Author Report Share Posted March 22, 2010 damn it :D amm ir kādas alternatīvas, ka viņš paņem bildi no linka un uzliek uz tās bildes virsū? @Kaklz - šis tā vairāk priekš sevis. gribēju pamācīties šo to par bildēm. + tagad zināšu kā watermarkus uzlikt uz bildes ( piem kā draugiem.lv ) Quote Link to comment Share on other sites More sharing options...
Kaklz Posted March 22, 2010 Report Share Posted March 22, 2010 Downloadē bildi tāpat, kā tos datus ar curl, saglabā uz diska ar kaut kādu filename un pēc tam jau lieto lokālo failu. Jebkurā gadījumā ieteiktu tev arī pašu bildi nevis ģenerēt vienmēr dzīvajā, bet uzģenerēt, saglabāt uz diska un reizi stundā pārģenerēt. Ja ir pagājusi mazāk kā stunda, vienkārši rādi to, kas uz diska. Quote Link to comment Share on other sites More sharing options...
2easy Posted March 22, 2010 Report Share Posted March 22, 2010 starp citu Kaklz par tiem watermarkiem: es kkad draugos pamanīju, ka viena jpg bilde ar draugiem logo watermarku bija tik pat labā kvalitātē kā oriģinālā bilde, un faila izmērs tikai mazliet lielāks (tikai tik, cik tas watermarks var iedot klāt), un bildes dimensijas arī tādas pašas. taču tas ir ļoti savādi, jo parasti pārseivojot jpg, lai dabūtu to pašu kvalitāti, faila izmērs neizbēgami palielinās. vai arī līdzīgu izmēru pēc jpg pārseivošanas ar watermarku var dabūt tikai ziedojot kvalitāti. bet kā Jūs tur draugos to dabūjāt gatavu? tb tik kvalitatīvi uzlikt watermarku, gandrīz nemainot faila izmēru!? nez kur man tgd ir tā konkrētā bilde ar/bez draugiem watermark... lol, es pamēģināju to tgd vēlreiz notestēt, bet nu Jums tur vsp vairs neliekās nekāds watermarks!!! bet pirms tam toč tāds gadījums bija! vai varbūt tas bija tikai kkāds izņēmums? ;) Quote Link to comment Share on other sites More sharing options...
eT` Posted March 22, 2010 Author Report Share Posted March 22, 2010 Hmm idejiski saprotu. <? function save_image($img,$fullpath){ $ch = curl_init ($img); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); $rawdata=curl_exec($ch); curl_close ($ch); $fp = fopen($fullpath,'x'); fwrite($fp, $rawdata); fclose($fp); } ?> šo ielieku atsevišķā failā. tad tajā image.php failā to failu inklūdoju un veicu save_image($xml->avatarIcon,'http://filmam.lv/steamid/avatar/'); ? vai save_image($xml->avatarIcon,'avatar/'); ? un tad tur kur attēloju lietoju $avatar = "avatar/".basename($xml->avatarIcon); $avatar = imagecreatefromjpeg($avatar); ā tomēr beigās mana avajadzētu lai viņš to bildi kaut kur saglabā :D nu lai piemēram var kādā forumā parakstā likt. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.