/* -------------------------------------------------------------------------- * netoglasi_dim() — vraca ' width="X" height="Y"' za sliku iz thumbs/ ili * images/, da bi pretrazivac rezervisao prostor pre nego sto se slika skine. * Bez toga se ceo spisak oglasa pomera dok se slike ucitavaju (CLS), sto je * jedna od metrika koje Google meri. * * Dodato 25.09.2026. Ne menja ni jednu sliku na disku i ne dira bazu — * dimenzije se citaju iz samog fajla i pamte u okviru jednog zahteva. * Mereno: 24 slike = ~5 ms hladno, ~0.2 ms kad je fajl u kesu sistema. * -------------------------------------------------------------------------- */ function netoglasi_dim($src) { static $memo = array(); if (!$src) { return ''; } if (isset($memo[$src])) { return $memo[$src]; } // iz markupa dolazi "//netoglasi.net/thumbs/...", "thumbs/..." ili "/thumbs/..." $rel = $src; $rel = preg_replace('~^(https?:)?//[^/]+/~', '', $rel); $rel = ltrim($rel, '/'); $rel = preg_replace('~\?.*$~', '', $rel); // samo nase dve galerije, bez izlaska iz webroota if (strpos($rel, '..') !== false || (strpos($rel, 'thumbs/') !== 0 && strpos($rel, 'images/') !== 0)) { return $memo[$src] = ''; } $path = dirname(__FILE__) . '/' . $rel; if (!is_file($path)) { return $memo[$src] = ''; } $i = @getimagesize($path); if (!$i || empty($i[0]) || empty($i[1])) { return $memo[$src] = ''; } return $memo[$src] = ' width="' . (int)$i[0] . '" height="' . (int)$i[1] . '"'; }