Bugungi kunda veb-resurslarning aksariyat qismi server tomonidagi skriptlar tomonidan dinamik ravishda yaratilgan. Ammo shu tarzda, asosan matnli ma'lumotlar ko'rsatiladi (sahifalar tartibi, uslublar jadvallari, sayt xaritasi). Tasvirlar, musiqa, videolar, arxivlar, qoida tariqasida, serverda statik fayllar ko'rinishida joylashgan. Biroq, ba'zida skript yordamida shunga o'xshash ma'lumotlarni yaratish kerak bo'ladi. Shunday qilib, agar siz statik tasvirni namoyish qilishingiz kerak bo'lsa, uni to'liq skriptga kiritishingiz mumkin.
Kerakli
server skriptlarini yaratish yoki tahrirlash qobiliyati
Ko'rsatmalar
1-qadam
Ushbu rasmlarni dastur kodining bir qismi bo'lgan matn sifatida skriptga joylashtiring. Ma'lumotlarning eng qulay tuzilmalaridan va sintaktik tuzilmalardan foydalaning. Tanlov odatda ishlatilgan dasturlash tilining imkoniyatlari bilan belgilanadi. Shunday qilib, ko'p hollarda rasmni oddiy belgilar qatori sifatida skriptga kiritish qulay, uning mazmuni Base64 kabi algoritm bilan kodlangan tasvir ma'lumotlari. PHP-da shunday ko'rinishi mumkin (2x2 pikselli.
2-qadam
Chiqish uchun rasmni tayyorlang. Agar kerak bo'lsa, asl ma'lumotni dekodlash. Siz rasmning ikkilik ma'lumotlarini o'z ichiga olgan buferni olishingiz kerak. Masalan, PHP-da, birinchi bosqichda berilgan satrni dekodlash quyidagicha ko'rinishi mumkin: $ text = base64_decode ($ str);
3-qadam
Serverning HTTP javobining sarlavhasida javob tanasining uzunligi (ko'rsatilgan rasmning o'lchami) haqidagi ma'lumotlarni o'z ichiga olgan maydonni qo'shing. Massivlar, satrlar va hokazolarning uzunligini qaytaradigan funktsiyalar yoki usullar yordamida ko'lamini aniqlang. Masalan: header ('Content-length:'.strlen ($ text));
4-qadam
O'tkazilgan tarkibning mimik turini ko'rsatadigan serverning HTTP javob sarlavhasiga maydon qo'shing. Masalan: header ('Content-type: image / gif'); Tarkib turi allaqachon ma'lum bo'lishi kerak (asl rasm formatiga qarab belgilanadi).
5-qadam
Agar siz rasmni brauzerda namoyish etish o'rniga uni saqlashga majbur qilishingiz kerak bo'lsa, javob sarlavhasiga tegishli maydonni qo'shing: header ("Content-Disposition: attachment; filename = my_image.gif");
6-qadam
Agar siz rasmni brauzer orqali keshlashdan saqlanishni istasangiz, Pragma va cache-Control maydonlarini tegishli qiymatlar bilan HTTP javobiga kiriting: header ("Pragma: no-cache"); header ("Cache-Control: no -cache, must-revalidate, no- store "); header (" Cache-Control: pre-check = 0, post-check = 0 ", false); Shuningdek, oxirgi modifikatsiyaning sanalari va amal qilish muddati tugashiga arziydi. manbaning sanasi. Bunday holda, ularning ikkinchisi keyinroq bo'lishi kerak: header ("Muddati tugaydi: Dushanba, 1993 yil 4-yanvar, 00:00:01 GMT"); header ("Oxirgi o'zgartirilgan:".gmdate ("D, d MYH: i: s ")." GMT ");
7-qadam
Serverning rasm ma'lumotlari bo'lgan HTTP javobining asosiy qismini shakllantiring. Qo'shimcha ishlov bermasdan ikkilik ma'lumotlarning chiqarilishini ta'minlaydigan ob'ektlarning funktsiyalari yoki usullaridan foydalaning. Masalan: printf ('% s', $ text);