Enamiku veebiressursside sisust genereerivad dünaamiliselt serveripoolsed skriptid. Kuid sel viisil kuvatakse enamasti tekstiteave (lehe paigutus, stiililehed, saidikaart). Kujutised, muusika, videod, arhiivid asuvad reeglina serveris staatiliste failidena. Kuid mõnikord on vaja skripti abil sarnaseid andmeid genereerida. Seega, kui teil on vaja kuvada staatiline pilt, saate selle skripti täielikult sisestada.
Vajalik
võime luua või muuta serveriskripte
Juhised
Samm 1
Sisestage need pildid skripti tekstina, mis on osa programmi koodist. Kasutage kõige mugavamaid andmestruktuure ja süntaktilisi konstruktsioone. Valiku määravad tavaliselt kasutatava programmeerimiskeele võimalused. Nii on paljudel juhtudel mugav skripti pilt sisestada tavalise märgistringina, mille sisuks on algandmiga nagu Base64 kodeeritud pildiandmed. PHP-s võib see välja näha selline (2x2 pikslit suurune GIF-pilt): $ str = 'R0lGODlhAgACAIAAAAAAAP /// yH5BAAA'. "AAAALAAAAAACAAIAAAIDDBAFADs ="; Tavaliselt kasutatakse ka massiivi literaale.
2. samm
Valmistage pilt väljastamiseks ette. Vajadusel dekodeerige algne teave. Te peaksite saama puhvri, mis sisaldab pildi binaarandmeid. Näiteks PHP-s võib esimeses etapis antud stringi dekodeerimine välja näha järgmine: $ text = base64_decode ($ str);
3. samm
Lisage serveri HTTP-vastuse päisesse väli, mis sisaldab andmeid vastuse keha pikkuse (kuvatava pildi suuruse) kohta. Määrake ulatus, kasutades funktsioone või meetodeid, mis tagastavad massiivide, stringide jne pikkuse. Näiteks: header ('Content-length:'.strlen ($ text));
4. samm
Lisage serveri HTTP-vastuse päisesse väli, mis näitab edastatud sisu miimikatüüpi. Näiteks: päis ('Sisutüüp: pilt / gif'); Sisutüüp peab olema juba teada (määratud algse pildi vormingu põhjal).
5. samm
Kui peate brauseri kuvamise asemel sundima pilti salvestama, lisage vastuse päisesse vastava välja: päis ("Content-Disposition: manus; failinimi = my_image.gif");
6. samm
Kui soovite vältida pildi vahemällu salvestamist brauseri poolt, sisestage HTTP-vastusesse vastavate väärtustega väljad Pragma ja vahemälu-juhtimine: päis ("Pragma: no-cache"); päis ("Cache-Control: ei -cache, must-revalidate, no- store "); header (" Cache-Control: pre-check = 0, post-check = 0 ", false); Samuti tasub anda viimase muudatuse ja aegumise kuupäevad ressursi kuupäev. Sel juhul peab teine neist olema hilisem: päis ("Aegub: esmaspäeval, 4. jaanuaril 1993 00:00:01 GMT"); päis ("Viimati muudetud:".gmdate ("D, d MYH: i: s ")." GMT ");
7. samm
Moodustage serveri HTTP-vastuse keha, milleks on pildiandmed. Kasutage objektide funktsioone või meetodeid, mis võimaldavad binaarandmete väljastamist ilma täiendava töötlemiseta. Näiteks: printf ('% s', $ tekst);