Većinu sadržaja web resursa danas dinamički generiraju skripte na strani poslužitelja. Ali na taj se način uglavnom prikazuju tekstualni podaci (izgled stranice, listovi stilova, karta web mjesta). Slike, glazba, videozapisi, arhive u pravilu se nalaze na poslužitelju u obliku statičkih datoteka. Međutim, ponekad je potrebno generirati slične podatke pomoću skripte. Dakle, ako trebate prikazati statičnu sliku, možete je potpuno umetnuti u skriptu.
Potrebno
mogućnost stvaranja ili uređivanja skripti poslužitelja
Upute
Korak 1
Umetnite ove slike u skriptu kao tekst, koji je dio programskog koda. Koristite najprikladnije strukture podataka i sintaktičke konstrukcije. Izbor se obično određuje mogućnostima programskog jezika koji se koristi. Dakle, u mnogim je slučajevima prikladno umetnuti sliku u skriptu kao redoviti niz znakova čiji su sadržaj slikovni podaci kodirani algoritmom poput Base64. U PHP-u to može izgledati ovako.
Korak 2
Pripremite sliku za izlaz. Ako je potrebno, dekodirajte izvorne podatke. Trebali biste primiti međuspremnik koji sadrži binarne podatke slike. Na primjer, u PHP-u dekodiranje niza datog u prvom koraku može izgledati ovako: $ text = base64_decode ($ str);
3. korak
U zaglavlje HTTP odgovora poslužitelja dodajte polje koje sadrži podatke o duljini tijela odgovora (veličini prikazane slike). Odredite opseg pomoću funkcija ili metoda koje vraćaju duljinu nizova, nizova itd. Na primjer: header ('Content-length:'.strlen ($ text));
4. korak
Dodajte polje u zaglavlje HTTP odgovora poslužitelja koji označava mime-tip prenesenog sadržaja. Na primjer: zaglavlje ('Vrsta sadržaja: slika / gif'); Vrsta sadržaja već mora biti poznata (određeno na temelju formata izvorne slike).
Korak 5
Ako trebate prisiliti spremanje slike umjesto da je prikazuje preglednik, dodajte odgovarajuće polje u zaglavlje odgovora: header ("Content-Disposition: privitak; ime datoteke = my_image.gif");
Korak 6
Ako želite izbjeći predmemoriranje slike preglednikom, unesite polja Pragma i Cache-Control s odgovarajućim vrijednostima u HTTP odgovor: zaglavlje ("Pragma: no-cache"); zaglavlje ("Cache-Control: no -cache, mora revalidate, no-store "); zaglavlje (" Cache-Control: pre-check = 0, post-check = 0 ", false); Također je vrijedno navesti datume zadnje izmjene i isteka datum izvora. U ovom slučaju, drugo od njih mora biti kasnije: header ("Istječe: ponedjeljak, 4. siječnja 1993. 00:00:01 GMT"); header ("Zadnja izmjena:".gmdate ("D, d MYH: i: s ")." GMT ");
7. korak
Oblikujte tijelo HTTP odgovora poslužitelja, a to su slikovni podaci. Koristite funkcije ili metode objekata koji omogućuju izlaz binarnih podataka bez dodatne obrade. Na primjer: printf ('% s', $ text);