Вход Регистрация
Файл: sys/core/img_preg.php
Строк: 39
<?php
    
#    Функция для работы внешних изображений
    #    Возможна будет заменена или доработана
    
    
function img_preg($arr)
    {
        if (
function_exists('set_time_limit')) {
            @
set_time_limit(60);
        }
        
$ext substr($arr[1], -3);
        
$myhost md5($arr[1]) . '.' $ext;
        
$nonpic "/style/icons/img_null.png";
        
$ext_valid = array('jpg''jpeg''png''gif');
        if (
is_file('sys/cache/images/' $myhost)) {
            return 
'<a href="http://' $_SERVER['HTTP_HOST'] . '/linkGo?go=' base64_encode(html_entity_decode($arr[1])) . '">   
        <img src="/sys/cache/images/' 
$myhost .'" alt="'.$_SERVER['HTTP_HOST'].'-image" />
        </a>'
;
        } elseif (
in_array($ext$ext_valid) && getDomain('http://' $_SERVER['HTTP_HOST']) !== getDomain($arr[1])) {
            
$ext substr($arr[1], -3);
            
$myhost md5($arr[1]) . '.' $ext;
            
$locale 'sys/tmp/' $myhost;
            
$ch curl_init();
            
curl_setopt($chCURLOPT_URL$arr[1]);
            
$fp fopen($locale"w+");
            
curl_setopt($chCURLOPT_FILE$fp);
            
curl_setopt($chCURLOPT_REFERER$arr[1]);
            
curl_setopt($chCURLOPT_AUTOREFERER1);
            
curl_exec($ch);
            if (
curl_getinfo($chCURLINFO_HTTP_CODE) != 200) {
                
unlink($locale);// удаляем ненужный файл
        // делаем что-то ещё (пишем адрес в лог, выводим ошибку, etc...)
            
}
            
curl_close($ch);
            
fclose($fp);
    
            require_once  
H."sys/inc/ImgType.class.php";
            if (
is_file('sys/tmp/' $myhost) && filesize('sys/tmp/' $myhost) !== 0) {
                
$image = new ImgType();
                
$image->load(H.'sys/tmp/' $myhost);
                
$image->resizeToWidth(128);
                
$image->save(H.'sys/cache/images/'.$myhost);
            }
            return 
'
        <a href="http://' 
$_SERVER['HTTP_HOST'] . '/linkGo?go=' base64_encode(html_entity_decode($arr[1])) . '">
          <img src="/sys/cache/images/' 
$myhost .'" alt="'.$_SERVER['HTTP_HOST'].'-image" />
        </a>'
;
        } else {
            return 
'<img src="'.$nonpic.'" width="128" height="128" />';
        }
    }

function 
getDomain($domain)
{
    
preg_match('~^(?:http://)?([^/]+)~i'$domain$matches);
    
$host = isset($matches[1]) ? $matches[1] : false;
    
preg_match('/[^.]+.[^.]+$/'$host$matches);
    return isset(
$matches[0]) ? $matches[0] : false;
}
Онлайн: 1
Реклама