Lielāko daļu tīmekļa resursu satura mūsdienās dinamiski ģenerē servera puses skripti. Bet šādā veidā tiek parādīta galvenokārt teksta informācija (lapas izkārtojums, stila lapas, vietnes karte). Attēli, mūzika, video, arhīvi parasti atrodas serverī statisku failu veidā. Tomēr dažreiz ir nepieciešams ģenerēt līdzīgus datus, izmantojot skriptu. Tātad, ja jums ir nepieciešams parādīt statisku attēlu, varat to pilnībā ievietot skriptā.
Nepieciešams
spēja izveidot vai rediģēt servera skriptus
Instrukcijas
1. solis
Ievietojiet šos attēlus skriptā kā tekstu, kas ir programmas koda sastāvdaļa. Izmantojiet ērtākās datu struktūras un sintaktiskās konstrukcijas. Izvēli parasti nosaka izmantotās programmēšanas valodas iespējas. Tāpēc daudzos gadījumos ir ērti ievietot attēlu skriptā kā parastu rakstzīmju virkni, kuras saturs ir attēla dati, kas kodēti ar tādu algoritmu kā Base64. PHP tas varētu izskatīties šādi (2x2 pikseļu.
2. solis
Sagatavojiet attēlu izvadei. Ja nepieciešams, atšifrējiet sākotnējo informāciju. Jums jāsaņem buferis, kas satur attēla bināros datus. Piemēram, PHP pirmajā solī norādītās virknes dekodēšana varētu izskatīties šādi: $ text = base64_decode ($ str);
3. solis
Servera HTTP atbildes galvenē pievienojiet lauku, kurā ir dati par atbildes pamatteksta garumu (parādītā attēla lielumu). Nosakiet darbības jomu, izmantojot funkcijas vai metodes, kas atgriež masīvu, virkņu utt. Garumu. Piemēram: header ('Content-length:'.strlen ($ text));
4. solis
Pievienojiet servera HTTP atbildes galvenei lauku, kurā norādīts pārsūtītā satura mime tips. Piemēram: header ('Content-type: image / gif'); Satura tipam jau jābūt zināmam (jānosaka, pamatojoties uz sākotnējā attēla formātu).
5. solis
Ja jums ir jāpiespiež attēls saglabāt, nevis pārlūks to parāda, pievienojiet atbilstošo lauku atbildes galvenei: header ("Content-Disposition: attachment; filename = my_image.gif");
6. solis
Ja vēlaties izvairīties no attēla kešatmiņas, ko veic pārlūkprogramma, ievadiet laukus Pragma un kešatmiņas vadība ar atbilstošām vērtībām HTTP atbildē: galvene ("Pragma: no-cache"); galvene ("Cache-Control: nav -cache, must-revalidate, no- store "); header (" Cache-Control: pre-check = 0, post-check = 0 ", false); Ir vērts norādīt arī pēdējās modifikācijas un derīguma termiņus resursa datums. Šajā gadījumā otrajam no tiem jābūt vēlākam: header ("Derīguma termiņš: pirmdiena, 1993. gada 4. janvāris 00:00:01 GMT"); header ("Pēdējoreiz modificēts:".gmdate ("D, d MYH: i: s ")." GMT ");
7. solis
Veidojiet servera HTTP atbildes pamattekstu, kas ir attēla dati. Izmantojiet objektu funkcijas vai metodes, kas nodrošina bināro datu izvadi bez papildu apstrādes. Piemēram: printf ('% s', $ text);