Վեբ ռեսուրսների բովանդակության մեծ մասն այսօր դինամիկորեն գոյանում է սերվերի կողմից գրված գրերի միջոցով: Բայց այս եղանակով հիմնականում ցուցադրվում է տեքստի տեղեկատվությունը (էջի դասավորություն, ոճաթերթիկներ, կայքի քարտեզ): Պատկերները, երաժշտությունը, տեսանյութերը, արխիվները, որպես կանոն, տեղադրվում են սերվերում `ստատիկ ֆայլերի տեսքով: Այնուամենայնիվ, երբեմն անհրաժեշտ է դառնում ստեղծել սցենարի միջոցով նմանատիպ տվյալներ: Այսպիսով, եթե Ձեզ անհրաժեշտ է ցուցադրել ստատիկ պատկեր, այն կարող եք ամբողջությամբ տեղադրել սցենարի մեջ:
Անհրաժեշտ է
սերվերի սցենարներ ստեղծելու կամ խմբագրելու հնարավորությունը:
Հրահանգներ
Քայլ 1
Տեղադրեք այս նկարները սցենարի մեջ որպես տեքստ, որը ծրագրի կոդի մաս է կազմում: Օգտագործեք տվյալների ամենահարմար կառուցվածքները և շարահյուսական կառուցվածքները: Ընտրությունը սովորաբար որոշվում է օգտագործվող ծրագրավորման լեզվի հնարավորությունների համաձայն: Այսպիսով, շատ դեպքերում հարմար է նկարը սցենարի մեջ մտցնել որպես սովորական նիշի տող, որի բովանդակությունը պատկերի տվյալներն են, որոնք կոդավորված են Base64- ի նման ալգորիթմով: PHP- ում դա կարող է նման լինել (2x2 պիքսել.
Քայլ 2
Պատկերը պատրաստեք արդյունքի համար: Անհրաժեշտության դեպքում վերծանեք բնօրինակ տեղեկատվությունը: Դուք պետք է ստանաք պատկերի երկուական տվյալներ պարունակող բուֆեր: Օրինակ, PHP- ում առաջին քայլում տրված տողի վերծանումը կարող է նման լինել. $ Text = base64_decode ($ str);
Քայլ 3
Սերվերի HTTP պատասխանի վերնագրում ավելացրեք պատասխան դաշտի երկարության վերաբերյալ տվյալներ պարունակող դաշտ (ցուցադրվող պատկերի չափը): Որոշեք շրջանակը ՝ օգտագործելով գործառույթներ կամ մեթոդներ, որոնք վերադարձնում են զանգվածների, տողերի և այլնի երկարությունը: Օրինակ ՝ վերնագիր («Բովանդակության երկարությունը ՝».strlen ($ տեքստ));
Քայլ 4
Սերվերի HTTP պատասխան վերնագրում դաշտ ավելացրեք `նշելով փոխանցված բովանդակության միմիկայի տեսակը: Օրինակ ՝ վերնագիր ('Content-type: image / gif'); Բովանդակության տեսակը պետք է արդեն հայտնի լինի (որոշվում է ելնելով բնօրինակ պատկերի ձևաչափից):
Քայլ 5
Եթե զննարկչի կողմից ցուցադրվելու փոխարեն հարկադրված է պատկերը պահպանել, պատասխանի վերնագրում ավելացրեք համապատասխան դաշտ ՝ header ("Content-Disposition: attachment; filename = my_image.gif");
Քայլ 6
Եթե ցանկանում եք զերծ մնալ զննարկչի կողմից նկարը պահելուց, մուտքագրեք Պրագմա և քեշ-Կառավարման դաշտերը համապատասխան արժեքներով HTTP պատասխանի մեջ. Վերնագիր («Պրագմա. Ոչ-քեշ»); -փոխանցում, պետք է նորից վերանայել, չպահել պահոցից)); վերնագիր ("Cache-Control: pre-check = 0, post-check = 0", false); արժե նաև տալ վերջին փոփոխության և ժամկետի ավարտման ամսաթվերը ռեսուրսի ամսաթիվը: Այս դեպքում դրանցից երկրորդը պետք է լինի ավելի ուշ ՝ վերնագիր («Expամկետը լրանում է ՝ Երկուշ., 4 Հուն. 1993 00:00:01 GMT»); վերնագիր («Վերջին փոփոխված ՝».gmdate («D, d MYH: i: ներ ")." GMT ");
Քայլ 7
Ձևավորեք սերվերի HTTP պատասխանի մարմինը, որը պատկերի տվյալներն են: Օգտագործեք օբյեկտների գործառույթներ կամ մեթոդներ, որոնք ապահովում են երկուական տվյալների թողարկում առանց լրացուցիչ մշակման: Օրինակ ՝ printf ('% s', $ տեքստ);