Hibakezelés dinamikus képekhez


Amennyiben olyan php kódot írunk, amelynek kimenete egy képfájl, érdemes egy a következőhöz hasonló hibakezelőt beiktatnunk, mert a generált hibaüzenetek tönkretehetik a képünket, egy esetleges megszakításnál pedig egyáltalán nem kerülne kép a kimenetre. A kód bármilyen hiba esetén (az E_NOTICE és E_STRICT hibákat leszámítva) azonnal kiküld egy üres, 1*1 pixeles GIF fájlt, így biztosan nem fog a “hiányzó kép” keret megjelenni az oldalunkon.

1
2
3
4
5
6
7
8
9
<?php
function image_error_handler($errorNo, $errorString, $file, $line) {
	if($errorNo == E_NOTICE || (defined('E_STRICT') && $errorNo == E_STRICT)) {
		return;
		}
	header('Content-type: image/gif');
	die(chr(71).chr(73).chr(70).chr(56).chr(57).chr(97).chr(1).chr(0).chr(1).chr(0).chr(128).chr(0).chr(0).chr(255).chr(255).chr(255).chr(0).chr(0).chr(0).chr(33).chr(249).chr(4).chr(1).chr(0).chr(0).chr(0).chr(0).chr(44).chr(0).chr(0).chr(0).chr(0).chr(1).chr(0).chr(1).chr(0).chr(0).chr(2).chr(2).chr(68).chr(1).chr(0).chr(59));
}
set_error_handler('image_error_handler');
Kapcsolódó bejegyzések:
  • Gyakran látni a weboldalakon “vissza” linkeket. Általában ezek arra a helyre mutatnak, ahonnan valószínűleg jöhetett a felhasználó, rosszabb esetben JavaScript-e …

  • Webáruház fejlesztés közben jött a megrendelő kérése, hogy szeretné, ha a termék képek vízjellel lennének ellátva. Nos, hosszas keresés és kutakodás után, nem ta …

  • Ha arra van szükséged, hogy letöltött képeket és hangokat a böngésző ne mentse le a temp könyvtárba, használd az alábbi kódot:Ha azt akarod, …

  • Felmerült ma délután egy kérdés és mivel hirtelen én sem tudtam rá a pontos választ, utánanéztem. A kérdés az alábbi volt: hogy lehet a böngészőt letöltési ablak …

  • Általában honlapok alján lehet látni azt az infót, hogy a lap x.y idő alatt töltődött be. Ezt nagyon egyszerűen megcsinálhatod te is a lapodon.Először is …

A cikket beküldte: BlackY ()

Szólj hozzá
a Hibakezelés dinamikus képekhez c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>