Вход Регистрация
Файл: modules/obmen/scr_file.php
Строк: 73
<?php

/* Мод "Обменник"
 * Версия v0.0.1
 * Дата последнего редактирования 24.11.2014
 * Двиг DCMS Special
 * Модифицировал densnet
 * Файл scr_file.php
 * Описание: работает со скриншотами
 */

require_once '../../sys/inc/start.php';
require_once 
H.'sys/inc/sess.php';
require_once 
H.'sys/inc/settings.php';
require_once 
H.'sys/inc/db_connect.php';
require_once 
H.'sys/inc/ipua.php';
require_once 
H.'sys/inc/fnc.php';
require_once 
H.'sys/inc/loads.php'#все необходимые функции для работы загруз-центра
require_once H.'sys/inc/user.php';

define('LS'realpath('sys/obmen/screens/')); #путь до папки со скриншотами

if (isset($_GET['w'])) {
    
define('SCR_WIDTH'max(64min(1024intval($_GET['w'])))); #максимальная ширина скриншотов
} else {
    
define('SCR_WIDTH'IS_WEB $set['loads_screen_size_web'] : $set['loads_screen_size_wap']);
}

if (!isset(
$_GET['id'])) {
    exit;
}
if (!isset(
$_GET['ras'])) {
    exit;
}

switch (
$_GET['ras']) {
    case 
'GIF':define('LF_RAS''gif');
        break;
    case 
'JPG':define('LF_RAS''jpg');
        break;
    case 
'JPEG':define('LF_RAS''jpeg');
        break;
    case 
'PNG':define('LF_RAS''png');
        break;
    default:exit;
}

$file['id'] = (int) $_GET['id'];
if (!
is_file("sys/obmen/files/$file[id].dat" '.' strtoupper(LF_RAS))) {
    exit;
}

define('LF_PATH'"sys/obmen/files/$file[id].dat" '.' strtoupper(LF_RAS));
define('LF_SIZE'filesize("sys/obmen/files/$file[id].dat" '.' strtoupper(LF_RAS)));
define('LF_TIME'filectime("sys/obmen/files/$file[id].dat" '.' strtoupper(LF_RAS)));
define('LF_NAME'$file['id']);
define('SCR_FILE'LS '/width-' SCR_WIDTH '_name-' LF_NAME '_size-' LF_SIZE '.' LF_RAS);

header("Last-Modified: " gmdate("D, d M Y H:i:s"LF_TIME) . " GMT");
header("Expires: " gmdate("D, d M Y H:i:s"$time 3600) . " GMT");
header('Content-type: image/' LF_RAS);
header('Content-Disposition: filename=' $file['id'] . '.' LF_RAS);

#чтобы не ресайзить каждый раз
if (file_exists(SCR_FILE) && filesize(SCR_FILE)) {
    
header('Content-length: ' filesize(SCR_FILE));
    echo 
file_get_contents(SCR_FILE);
    exit;
}

switch (
LF_RAS) {
    case 
'jpg':
        
$img = @imagecreatefromjpeg(LF_PATH);
        break;
    case 
'jpeg':
        
$img = @imagecreatefromjpeg(LF_PATH);
        break;
    case 
'gif':
        
$img = @imagecreatefromgif(LF_PATH);
        break;
    case 
'png':
        
$img = @imagecreatefrompng(LF_PATH);
        break;
}

$img_x imagesx($img);
$img_y imagesy($img);
$x_ratio SCR_WIDTH $img_x;

if (
$img_x <= SCR_WIDTH) {
    
$dstW $img_x;
    
$dstH $img_y;
} else {
    
$dstH ceil($x_ratio $img_y);
    
$dstW SCR_WIDTH;
}

$screen ImageCreateTrueColor($dstW$dstH);

imagecopyresampled($screen$img0000$dstW$dstH$img_x$img_y);
imagedestroy($img);

$screen img_copyright($screen); // наложение копирайта

switch (LF_RAS) {
    case 
'jpg':
        @
ImageJpeg($screenSCR_FILE100);
        break;
    case 
'jpeg':
        @
ImageJpeg($screenSCR_FILE100);
        break;
    case 
'gif':
        @
ImageGif($screenSCR_FILE);
        break;
    case 
'png':
        @
ImagePng($screenSCR_FILE);
        break;
}
chmod(SCR_FILE0777);
echo 
file_get_contents(SCR_FILE);
exit;
Онлайн: 2
Реклама