Бүгүнкү күндө веб-ресурстардын көпчүлүк бөлүгү динамикалуу түрдө сервер тарабындагы скрипттер тарабынан түзүлгөн. Бирок ушундай жол менен, негизинен, тексттик маалыматтар көрсөтүлөт (барактын макети, стилдер баракчалары, сайт картасы). Сүрөттөр, музыка, видео, архивдер, эреже боюнча, серверде статикалык файл түрүндө жайгашкан. Бирок, кээде сценарийдин жардамы менен ушул сыяктуу маалыматтарды жаратуу керек болуп калат. Демек, статикалык сүрөттү көрсөтүү керек болсо, аны толугу менен сценарийге киргизе аласыз.
Зарыл
сервердин сценарийлерин түзүү же түзөтүү мүмкүнчүлүгү
Нускамалар
1 кадам
Бул сүрөттөрдү программа кодунун бир бөлүгү болгон текст катары скриптке киргизиңиз. Эң ыңгайлуу маалымат структураларын жана синтаксистик конструкцияларды колдонуңуз. Тандоо, адатта, колдонулган программалоо тилинин мүмкүнчүлүктөрү менен аныкталат. Ошентип, көпчүлүк учурда скриптке кадимки символ катарында сүрөттү киргизүү ыңгайлуу, анын мазмуну Base64 сыяктуу алгоритм менен коддолгон сүрөт маалыматтары. PHPде мындай көрүнүш болушу мүмкүн (2х2 пиксель.
2-кадам
Сүрөттү чыгаруу үчүн даярдаңыз. Керек болсо, баштапкы маалыматты чечмелеп алыңыз. Сиз сүрөттүн экилик маалыматтарын камтыган буферди алышыңыз керек. Мисалы, PHPде биринчи кадамда берилген саптын кодун чечүү төмөнкүдөй болушу мүмкүн: $ text = base64_decode ($ str);
3-кадам
Сервердин HTTP жообунун башына жооп берүүчү корпустун узундугу (көрсөтүлгөн сүрөттүн көлөмү) жөнүндө маалыматтарды камтыган талааны кошуңуз. Массивдердин, саптардын ж.б.у.с. узундугун кайтаруучу функциялар же ыкмаларды колдонуу менен чөйрөнү аныктаңыз. Мисалы: header ('Content-length:'.strlen ($ text));
4-кадам
Өткөрүлүп жаткан мазмунунун MIME түрүн көрсөткөн сервердин HTTP жооп башына талаа кошуңуз. Мисалы: баш ('Content-type: image / gif'); Мазмундун түрү мурунтан эле белгилүү болушу керек (түпнуска сүрөттүн форматына жараша аныкталат).
5-кадам
Эгер сиз сүрөттү браузерде көрсөтүүнүн ордуна сактоого мажбур кылсаңыз, жооп башына тиешелүү талааны кошуңуз: header ("Content-Disposition: attachment; filename = my_image.gif");
6-кадам
Эгер сиз сүрөттү браузер аркылуу кэштөөдөн сактангыңыз келсе, анда HTTP жоопуна ылайыктуу баалуулуктар менен Pragma жана cache-Control талааларын киргизиңиз: header ("Pragma: no-cache"); header ("Cache-Control: жок -cache, must-revalidate, no- store "); header (" Cache-Control: pre-check = 0, post-check = 0 ", false); Ошондой эле акыркы модификацияланган күндүн жана жарактуулук мөөнөтүнүн аякташын белгилей кетүү керек ресурстун датасы. Бул учурда, алардын экинчиси кийинчерээк болушу керек: header ("Expires: Mon, 4 Jan 1993 00:00:01 GMT"); header ("Last-Modified:".gmdate ("D, d MYH: i: s ")." GMT ");
7-кадам
Сервердин HTTP жообунун тулку бөлүгүн түзүңүз, бул сүрөт жөнүндө маалыматтар. Кошумча иштетүүсүз экилик маалыматтарды чыгарууну камсыз кылган объектилердин функцияларын же ыкмаларын колдонуңуз. Мисалы: printf ('% s', $ text);