Večino vsebine spletnih virov danes dinamično generirajo skripti na strani strežnika. Toda na ta način se prikažejo večinoma besedilne informacije (postavitev strani, slogi, zemljevid mesta). Slike, glasba, video posnetki, arhivi so praviloma na strežniku v obliki statičnih datotek. Včasih pa je treba ustvariti podobne podatke s pomočjo skripta. Torej, če morate prikazati statično sliko, jo lahko v celoti vstavite v skript.
Potrebno
zmožnost ustvarjanja ali urejanja strežniških skriptov
Navodila
Korak 1
Te slike vstavite v skript kot besedilo, ki je del programske kode. Uporabite najprimernejše podatkovne strukture in skladenjske konstrukcije. Izbira je običajno odvisna od zmožnosti uporabljenega programskega jezika. V mnogih primerih je torej priročno vstaviti sliko v skript kot običajni niz znakov, katere vsebina so slikovni podatki, kodirani z algoritmom, kot je Base64. V PHP je lahko videti tako (slika.
2. korak
Pripravite sliko za izhod. Če je potrebno, dekodirajte izvirne podatke. Prejeli bi morali medpomnilnik, ki vsebuje binarne podatke slike. Na primer, v PHP lahko dekodiranje niza, podanega v prvem koraku, izgleda takole: $ text = base64_decode ($ str);
3. korak
V glavo odziva strežnika HTTP dodajte polje, ki vsebuje podatke o dolžini telesa odziva (velikost prikazane slike). Določite obseg z uporabo funkcij ali metod, ki vrnejo dolžino nizov, nizov itd. Na primer: header ('Content-length:'.strlen ($ text));
4. korak
V glavo odziva HTTP strežnika dodajte polje, ki označuje vrsto mime prenesene vsebine. Na primer: header ('Content-type: image / gif'); Vrsta vsebine mora biti že znana (določeno glede na obliko izvirne slike).
5. korak
Če morate sliko shraniti, namesto da bi jo brskalnik prikazal, dodajte ustrezno polje v glavo odziva: header ("Content-Disposition: priloga; ime datoteke = my_image.gif");
6. korak
Če se želite izogniti predpomnjenju slike v brskalniku, vnesite polja Pragma in Cache-Control z ustreznimi vrednostmi v odgovor HTTP: header ("Pragma: no-cache"); header ("Cache-Control: no -cache, mora ponovno preveriti, no-store "); header (" Cache-Control: pre-check = 0, post-check = 0 ", false); Prav tako je vredno navesti datume zadnje spremembe in izteka datum vira. V tem primeru mora biti drugi med njimi pozneje: header ("Poteče: ponedeljek, 4. januar 1993 00:00:01 GMT"); header ("Zadnja sprememba:".gmdate ("D, d MYH: i: s ")." GMT ");
7. korak
Oblikujte telo HTTP-odziva strežnika, to so slikovni podatki. Uporabite funkcije ali metode predmetov, ki zagotavljajo izhod binarnih podatkov brez dodatne obdelave. Na primer: printf ('% s', $ text);