Beispiel #1
0
function DetectImage($uri)
{
    // get image info
    $info = getimagesize($uri);
    // valid mime type
    if (empty($info['mime'])) {
        DefaultImage();
    }
    // get mime type
    $mime = $info['mime'];
    // detect image type 'png'
    if (preg_match('/png/im', $mime)) {
        $send = imagecreatefrompng($uri);
    }
    // detect image type 'jpg or jpeg'
    if (preg_match('/jpg|jpeg/im', $mime)) {
        $send = imagecreatefromjpeg($uri);
    }
    // detect image type 'gif'
    if (preg_match('/gif/im', $mime)) {
        $send = imagecreatefromgif($uri);
    }
    // valid new image created
    if (empty($send)) {
        DefaultImage();
    }
    // callback
    return $send;
}
Beispiel #2
0
function DetectImage($uri, $local = 0)
{
    global $filterImage;
    if ($filterImage) {
        $exif_types = array(IMAGETYPE_GIF => 'image/gif', IMAGETYPE_JPEG => 'image/jpeg', IMAGETYPE_PNG => 'image/png');
        $use_exif = function_exists('exif_imagetype');
        // get image info
        $mime = $use_exif && ($a = @exif_imagetype($uri)) && isset($exif_types[$a]) ? $exif_types[$a] : (($a = @getimagesize($uri)) ? $a['mime'] : null);
        // valid mime type
        if (empty($mime) or !preg_match('/(jpeg|jpg|gif|png)$/', $mime)) {
            DefaultImage();
        }
        // detect image type 'png'
        if (image_type_to_mime_type(IMAGETYPE_PNG) === $mime) {
            $send = imagecreatefrompng($uri);
        }
        // detect image type 'jpeg'
        if (image_type_to_mime_type(IMAGETYPE_JPEG) === $mime) {
            $send = imagecreatefromjpeg($uri);
        }
        // detect image type 'gif'
        if (image_type_to_mime_type(IMAGETYPE_GIF) === $mime) {
            $send = imagecreatefromgif($uri);
        }
    }
    // detect image from string
    if ($local) {
        $send = imagecreatefromstring(file_get_contents($uri));
    } elseif (empty($send) && ($content = curl_file_get_contents($uri))) {
        $send = imagecreatefromstring($content['content']);
    }
    // valid new image created
    if (empty($send) or !is_resource($send)) {
        DefaultImage();
    }
    // callback
    return $send;
}
Beispiel #3
0
        if (FileCacheIsLive($src, $ttl)) {
            SendImageFromCache($src);
        }
    }
    if ($validRemote and !CheckRemoteFile($handle)) {
        DefaultImage();
    }
    CreateImageToCache($handle, $thumb_w, $thumb_h, $back, $opt, $src);
} elseif (isset($_GET['i']) and isset($_GET['o'])) {
    // request param, pre sql injection tratament, remove html and limit string code
    $owner = empty($_GET['o']) ? null : substr(addslashes(strip_tags(trim(preg_replace('/\\s/m', '', $_GET['o'])))), 0, 20);
    $image = preg_replace('/\\.[a-z]+$/i', '', $_GET['i']);
    $index = max((int) filter_input(INPUT_GET, 'e', FILTER_SANITIZE_NUMBER_INT), 1);
    // mount file name cache
    $src = CACHE_DIR . sha1(CACHE_DIR . $image . $owner . $index . $thumb_w . $thumb_h . $quality . $opt . ((!empty($_GET['img_bg']) and count(explode(',', $_GET['img_bg'])) == 3) ? $_GET['img_bg'] : '255,255,255')) . $ext;
    // mount url core integration
    $handle = 'https://core.smartdealer.com.br/img/' . $image . '/' . $owner . '/' . $thumb_w . '/' . $index . '.jpg';
    // check if file exists
    if ($cache && file_exists($src)) {
        if (FileCacheIsLive($src, $ttl)) {
            SendImageFromCache($src);
        }
    }
    if ($validRemote and !CheckRemoteFile($handle)) {
        DefaultImage();
    }
    CreateImageToCache($handle, $thumb_w, $thumb_h, $back, $opt, $src);
} else {
    // invalid request, return default image
    DefaultImage();
}