A webes erőforrások legtöbb tartalmát manapság dinamikusan generálják a szerveroldali parancsfájlok. De ily módon többnyire szöveges információk jelennek meg (oldalelrendezés, stíluslapok, webhelytérkép). A képek, a zene, a videók, az archívumok általában statikus fájlok formájában találhatók a szerveren. Néha azonban szükségessé válik hasonló adatok előállítása egy szkript segítségével. Tehát, ha statikus képet kell megjelenítenie, teljesen beillesztheti a szkriptbe.
Szükséges
szerver parancsfájlok létrehozásának vagy szerkesztésének képessége
Utasítás
1. lépés
Helyezze ezeket a képeket a szkriptbe szövegként, amely a programkód része. Használja a legkényelmesebb adatszerkezeteket és szintaktikai konstrukciókat. A választást általában a használt programozási nyelv képességei határozzák meg. Tehát sok esetben kényelmes képet beilleszteni egy szkriptbe, mint egy szokásos karakterláncot, amelynek tartalma olyan képadat, amelyet egy olyan algoritmus kódol, mint a Base64. A PHP-ben ez így nézhet ki (2x2 pixeles GIF-kép): $ str = 'R0lGODlhAgACAIAAAAAAAP /// yH5BAAA'. 'AAAALAAAAAACAAIAAAIDDBAFADs ='; A tömb literálokat is gyakran használják.
2. lépés
Készítse elő a képet a kimenethez. Ha szükséges, dekódolja az eredeti információt. Meg kell kapnia a kép bináris adatait tartalmazó puffert. Például a PHP-ben az első lépésben megadott karakterlánc dekódolása így nézhet ki: $ text = base64_decode ($ str);
3. lépés
A kiszolgáló HTTP válaszának fejlécébe adjon hozzá egy mezőt, amely adatokat tartalmaz a válasz törzsének hosszáról (a megjelenített kép méretéről). Határozza meg a hatókört olyan funkciók vagy módszerek segítségével, amelyek visszaadják a tömbök, karakterláncok stb. Hosszát. Például: header ('Content-length:'.strlen ($ text));
4. lépés
Adjon hozzá egy mezőt a szerver HTTP válaszfejlécéhez, amely jelzi az átvitt tartalom mime típusát. Például: header ('Content-type: image / gif'); A tartalom típusát már ismerni kell (az eredeti kép formátuma alapján kell meghatározni).
5. lépés
Ha el kell kényszerítenie a kép mentését, ahelyett, hogy a böngésző megjelenítené, adja hozzá a megfelelő mezőt a válasz fejlécéhez: header ("Content-Disposition: melléklet; fájlnév = my_image.gif");
6. lépés
Ha nem szeretné, hogy a böngésző tárolja a képet, írja be a Pragma és a cache-Control mezőket a megfelelő értékekkel a HTTP válaszba: fejléc ("Pragma: no-cache"); fejléc ("Cache-Control: nem -cache, must-revalidate, no- store "); header (" Cache-Control: pre-check = 0, post-check = 0 ", false); Érdemes megadni az utolsó módosítás és a lejárat dátumát is az erőforrás dátuma. Ebben az esetben a másodiknak később kell lennie: header ("Lejár: 1993. január 4., hétfő, 00:00:01 GMT"); header ("Utolsó módosítás:".gmdate ("D, d MYH: i: s ")." GMT ");
7. lépés
Alakítsa ki a szerver HTTP-válaszának törzsét, amely a képadatok. Használjon olyan objektumok funkcióit vagy módszereit, amelyek bináris adatok kimenetét biztosítják további feldolgozás nélkül. Például: printf ('% s', $ text);