326 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			326 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						||
include_once __DIR__ . "/header.php";
 | 
						||
 | 
						||
if (!$config['show_exif_info'] && !is_who_login('admin')) exit(header('Location: ' . $config['domain'] . '?exif#closed'));
 | 
						||
 | 
						||
// 获取图片地址
 | 
						||
if (isset($_GET['img'])) {
 | 
						||
    // 过滤特殊符号
 | 
						||
    $getIMG = strip_tags($_GET['img']);
 | 
						||
    $del_url = $config['domain'] . $getIMG;
 | 
						||
} elseif (isset($_GET['history'])) {
 | 
						||
    // 过滤特殊符号
 | 
						||
 | 
						||
    if ($config['hide_path']) {
 | 
						||
        $getIMG = $config['path'] . ltrim(strip_tags($_GET['history']), '/');
 | 
						||
    } else {
 | 
						||
        $getIMG = strip_tags($_GET['history']);
 | 
						||
    }
 | 
						||
    $del_url = $config['domain'] . $getIMG;
 | 
						||
} else {
 | 
						||
    // 未获取到图片地址
 | 
						||
    $getIMG = "/public/images/404.png";
 | 
						||
    $del_url = "#";
 | 
						||
}
 | 
						||
 | 
						||
 | 
						||
// 开启隐藏上传目录
 | 
						||
if ($config['hide_path']) {
 | 
						||
    $img_url = rand_imgurl() . str_replace($config['path'], '/', $getIMG);
 | 
						||
 | 
						||
    // 获取当前图片日志文件
 | 
						||
    $logs = str_replace('/', '-', substr(parse_url($img_url, PHP_URL_PATH), 1, 7));
 | 
						||
} else {
 | 
						||
    // 关闭隐藏上传目录
 | 
						||
    $img_url = rand_imgurl() . $getIMG;
 | 
						||
 | 
						||
    // 获取当前图片日志文件
 | 
						||
    $logs = str_replace('/', '-', substr(str_replace($config['path'], '', parse_url($img_url, PHP_URL_PATH)), 0, 7));
 | 
						||
}
 | 
						||
 | 
						||
// 导入日志文件
 | 
						||
$logsName = basename($img_url);
 | 
						||
if (is_file(APP_ROOT . '/admin/logs/upload/' . $logs . '.php')) {
 | 
						||
    include APP_ROOT . '/admin/logs/upload/' . $logs . '.php';
 | 
						||
} else {
 | 
						||
    $logs = array($logsName => array('source' => '请在图床安全中开启上传日志!', 'date' => '请在图床安全中开启上传日志!', 'ip' => '0.0.0.0', 'port' => '0', 'user_agent' => '请在图床安全中开启上传日志!', 'path' => '请在图床安全中开启上传日志!', 'size' => '请在图床安全中开启上传日志!', 'md5' => '请在图床安全中开启上传日志!', 'checkImg' => '请在图床安全中开启上传日志!', 'from' => '请在图床安全中开启上传日志!'));
 | 
						||
}
 | 
						||
if (empty($logs[$logsName])) {
 | 
						||
    $logs = array($logsName => array('source' => '日志不存在', 'date' => '日志不存在', 'ip' => '0.0.0.0', 'port' => '0', 'user_agent' => '日志不存在', 'path' => '日志不存在', 'size' => '日志不存在', 'md5' => '日志不存在', 'checkImg' => '日志不存在', 'from' => '日志不存在'));
 | 
						||
}
 | 
						||
// 图片真实路径
 | 
						||
$imgABPath = APP_ROOT . $getIMG;
 | 
						||
// 图片是否存在
 | 
						||
if (!is_file($imgABPath)) {
 | 
						||
    $imgABPath = APP_ROOT . "/public/images/404.png";
 | 
						||
    $img_url = $config['domain'] . "/public/images/404.png";
 | 
						||
}
 | 
						||
 | 
						||
// 图片尺寸
 | 
						||
$imgSize = filesize($imgABPath);
 | 
						||
// 上传时间
 | 
						||
$upTime = filemtime($imgABPath);
 | 
						||
// 广告
 | 
						||
if ($config['ad_top']) echo $config['ad_top_info'];
 | 
						||
?>
 | 
						||
<div class="col-md-12">
 | 
						||
    <div class="col-md-5" style="text-align: center;">
 | 
						||
        <img data-toggle="lightbox" src="<?php echo $img_url; ?>" id="img1" class="img-rounded" height="432px" data-caption="<?php echo pathinfo($img_url, PATHINFO_FILENAME); ?>的详细信息" alt="<?php echo $img_url; ?>" />
 | 
						||
    </div>
 | 
						||
    <div class="col-md-6 table-responsive table-condensed" style="margin-top: 10px;">
 | 
						||
        <table class="table table-hover table-striped table-bordered text-nowrap">
 | 
						||
            <tbody>
 | 
						||
                <tr>
 | 
						||
                    <td>图片名称</td>
 | 
						||
                    <td> <?php echo basename($getIMG); ?></td>
 | 
						||
                </tr>
 | 
						||
                <tr>
 | 
						||
                    <td>图片大小</td>
 | 
						||
                    <td><?php echo getDistUsed($imgSize); ?></td>
 | 
						||
                </tr>
 | 
						||
                <tr>
 | 
						||
                    <td>图片类型</td>
 | 
						||
                    <td>image/<?php echo pathinfo($getIMG, PATHINFO_EXTENSION); ?></td>
 | 
						||
                </tr>
 | 
						||
                <tr>
 | 
						||
                    <td>图片宽高</td>
 | 
						||
                    <td><span id="wh"></span>px</td>
 | 
						||
                </tr>
 | 
						||
                <tr>
 | 
						||
                    <td>上传时间</td>
 | 
						||
                    <td><?php echo $logs[$logsName]['date']; ?></td>
 | 
						||
                </tr>
 | 
						||
                <?php if (is_who_login('admin')) : ?>
 | 
						||
                    <tr class="text-primary">
 | 
						||
                        <td>原始名称</td>
 | 
						||
                        <td><?php echo htmlspecialchars($logs[$logsName]['source']); ?></td>
 | 
						||
                    </tr>
 | 
						||
                    <tr class="text-primary">
 | 
						||
                        <td>原始大小</td>
 | 
						||
                        <td><?php echo $logs[$logsName]['size']; ?></td>
 | 
						||
                    </tr>
 | 
						||
                    <tr class="text-primary">
 | 
						||
                        <td>上传者IP</td>
 | 
						||
                        <td><?php echo $logs[$logsName]['ip'] . ':' . $logs[$logsName]['port']; ?></td>
 | 
						||
                    </tr>
 | 
						||
                    <tr class="text-primary">
 | 
						||
                        <td>上传地址</td>
 | 
						||
                        <td><?php echo Ip2Region($logs[$logsName]['ip']); ?></td>
 | 
						||
                    </tr>
 | 
						||
                    <tr class="text-primary">
 | 
						||
                        <td>监黄状态</td>
 | 
						||
                        <td><?php echo strstr('OFF', $logs[$logsName]['checkImg']) ? '未开启' : '已通过'; ?></td>
 | 
						||
                    </tr>
 | 
						||
                    <tr class="text-primary">
 | 
						||
                        <td>上传方式</td>
 | 
						||
                        <td><?php echo is_numeric($logs[$logsName]['from']) ?  '通过API | Token ID: ' . $logs[$logsName]['from']  : "通过网页"; ?></td>
 | 
						||
                    </tr>
 | 
						||
                    <tr class="text-primary">
 | 
						||
                        <td>文件路径</td>
 | 
						||
                        <td><?php echo $logs[$logsName]['path']; ?></td>
 | 
						||
                    </tr>
 | 
						||
                    <tr class="text-primary">
 | 
						||
                        <td>文件MD5</td>
 | 
						||
                        <td><?php echo $logs[$logsName]['md5']; ?></td>
 | 
						||
                    </tr>
 | 
						||
                <?php endif; ?>
 | 
						||
                <tr>
 | 
						||
                    <td>文件操作</td>
 | 
						||
                    <td>
 | 
						||
                        <a class="btn btn-mini btn-primary" href="<?php echo  $img_url; ?>" target="_blank"><i class="icon icon-picture"> 查看</i></a>
 | 
						||
                        <a class="btn btn-mini btn-primary" href="" onclick="window.location.replace;"><i class="icon icon-spin icon-refresh"></i> 刷新</a>
 | 
						||
                        <a class="btn btn-mini btn-primary" href="/app/down.php?dw=<?php echo  $getIMG; ?>" target="_blank"><i class="icon icon-cloud-download"> 下载</i></a>
 | 
						||
                        <?php if (!empty($config['report']) && !is_who_login('admin')) : ?>
 | 
						||
                            <a class="btn btn-mini btn-warning" href="<?php echo $config['report'] . '?Website1=' . $img_url; ?>" target="_blank"><i class="icon icon-question-sign"> 举报</i></a>
 | 
						||
                        <?php endif; ?>
 | 
						||
                        <?php if (is_who_login('admin')) : ?>
 | 
						||
                            <a class="btn btn-mini btn-warning" href="/app/del.php?recycle_url=<?php echo $getIMG; ?>" target="_blank"><i class="icon icon-undo"> 回收</i></a>
 | 
						||
                            <a class="btn btn-mini btn-warning" href="/app/del.php?url=<?php echo $del_url; ?>" target="_blank"><i class="icon icon-trash"> 删除</i></a>
 | 
						||
                        <?php endif; ?>
 | 
						||
                    </td>
 | 
						||
                </tr>
 | 
						||
            </tbody>
 | 
						||
        </table>
 | 
						||
        <h4 class="with-padding hl-gray"><i class="icon icon-info-sign"> 此图片来自网友上传, 不代表<a href="/admin/terms.php" target="_blank">本站立场</a>, 若有侵权, 请举报或联系管理员!</i></h4>
 | 
						||
    </div>
 | 
						||
</div>
 | 
						||
<div class="col-md-12" style="padding-bottom: 10px;">
 | 
						||
    <div class="col-md-6" style="padding-bottom: 10px;">
 | 
						||
        <div class="input-group">
 | 
						||
            <span class="input-group-addon"><i class="icon icon-link"></i> 直 链         </span>
 | 
						||
            <input type="text" class="form-control" id="links" onclick="copyText()" value="<?php echo $img_url; ?>">
 | 
						||
            <span class="input-group-btn"><button class="btn btn-default copyBtn1" type="button">复制</button></span>
 | 
						||
        </div>
 | 
						||
    </div>
 | 
						||
    <div class="col-md-6" style="padding-bottom: 10px;">
 | 
						||
        <div class="input-group">
 | 
						||
            <span class="input-group-addon"><i class="icon icon-chat"></i> 论坛代码   </span>
 | 
						||
            <input type="text" class="form-control" id="bbscode" value="[img]<?php echo $img_url; ?>[/img]">
 | 
						||
            <span class="input-group-btn"><button class="btn btn-default copyBtn2" type="button">复制</button></span>
 | 
						||
        </div>
 | 
						||
    </div>
 | 
						||
</div>
 | 
						||
<div class="col-md-12" style="padding-bottom: 10px;">
 | 
						||
    <div class="col-md-6" style="padding-bottom: 10px;">
 | 
						||
        <div class="input-group">
 | 
						||
            <span class="input-group-addon"><i class="icon icon-code"></i> MarkDown</span>
 | 
						||
            <input type="text" class="form-control" id="markdown" value="">
 | 
						||
            <span class="input-group-btn"><button class="btn btn-default copyBtn3" type="button">复制</button></span>
 | 
						||
        </div>
 | 
						||
    </div>
 | 
						||
    <div class="col-md-6" style="padding-bottom: 10px;">
 | 
						||
        <div class="input-group">
 | 
						||
            <span class="input-group-addon"><i class="icon icon-html5"></i> HTML        </span>
 | 
						||
            <input type="text" class="form-control" id="html" value='<img src="<?php echo $img_url; ?>" alt="简单图床 - EasyImage" />'>
 | 
						||
            <span class="input-group-btn"><button class="btn btn-default copyBtn4" type="button">复制</button></span>
 | 
						||
        </div>
 | 
						||
    </div>
 | 
						||
</div>
 | 
						||
<?php /** 底部广告 */ if ($config['ad_bot']) echo $config['ad_bot_info']; ?>
 | 
						||
<!-- 随机图片 -->
 | 
						||
<?php if ($config['info_rand_pic']) : ?>
 | 
						||
    <div class="col-md-12" style="padding-bottom: 10px;">
 | 
						||
        <h4 class="header-dividing">当月随机图片:</h4>
 | 
						||
        <div class="cards cards-borderless">
 | 
						||
            <?php if ($logs[$logsName]['port'] != 0) : for ($i = 0; $i <= 7; $i++) : $randName = array_rand($logs, 1) ?>
 | 
						||
                    <div class="col-md-4 col-sm-6 col-lg-3">
 | 
						||
                        <a class="card" href="?img=<?php echo $logs[$randName]['path']; ?>" target="_blank">
 | 
						||
                            <img src="thumb.php?img=<?php echo $logs[$randName]['path']; ?>">
 | 
						||
                            <div class="caption"><?php echo  $logs[$randName]['source']; ?></div>
 | 
						||
                        </a>
 | 
						||
                    </div>
 | 
						||
                <?php endfor; ?>
 | 
						||
            <?php else : ?>
 | 
						||
                <h3 class="alert alert-danger">本月没有上传图片或上传日志不存在~~</h3>
 | 
						||
            <?php endif; ?>
 | 
						||
        </div>
 | 
						||
    </div>
 | 
						||
<?php endif; ?>
 | 
						||
<script src="<?php static_cdn(); ?>/public/static/EasyImage.js"></script>
 | 
						||
<script src="<?php static_cdn(); ?>/public/static/zui/lib/clipboard/clipboard.min.js"></script>
 | 
						||
<script>
 | 
						||
    // 获取图片长宽 https://www.cnblogs.com/houxianzhou/p/14807983.html
 | 
						||
    var imgReady = (function() {
 | 
						||
        var list = [],
 | 
						||
            intervalId = null,
 | 
						||
            // 用来执行队列
 | 
						||
            tick = function() {
 | 
						||
                var i = 0;
 | 
						||
                for (; i < list.length; i++) {
 | 
						||
                    list[i].end ? list.splice(i--, 1) : list[i]();
 | 
						||
                };
 | 
						||
                !list.length && stop();
 | 
						||
            },
 | 
						||
            // 停止所有定时器队列
 | 
						||
            stop = function() {
 | 
						||
                clearInterval(intervalId);
 | 
						||
                intervalId = null;
 | 
						||
            };
 | 
						||
        return function(url, ready, load, error) {
 | 
						||
            var onready, width, height, newWidth, newHeight,
 | 
						||
                img = new Image();
 | 
						||
            img.src = url;
 | 
						||
            // 如果图片被缓存,则直接返回缓存数据
 | 
						||
            if (img.complete) {
 | 
						||
                ready.call(img);
 | 
						||
                load && load.call(img);
 | 
						||
                return;
 | 
						||
            };
 | 
						||
            width = img.width;
 | 
						||
            height = img.height;
 | 
						||
            // 加载错误后的事件
 | 
						||
            img.onerror = function() {
 | 
						||
                error && error.call(img);
 | 
						||
                onready.end = true;
 | 
						||
                img = img.onload = img.onerror = null;
 | 
						||
            };
 | 
						||
            // 图片尺寸就绪
 | 
						||
            onready = function() {
 | 
						||
                newWidth = img.width;
 | 
						||
                newHeight = img.height;
 | 
						||
                if (newWidth !== width || newHeight !== height || newWidth * newHeight > 1024) {
 | 
						||
                    // 如果图片已经在其他地方加载可使用面积检测
 | 
						||
                    ready.call(img);
 | 
						||
                    onready.end = true;
 | 
						||
                };
 | 
						||
            };
 | 
						||
            onready();
 | 
						||
            // 完全加载完毕的事件
 | 
						||
            img.onload = function() {
 | 
						||
                // onload在定时器时间差范围内可能比onready快
 | 
						||
                // 这里进行检查并保证onready优先执行
 | 
						||
                !onready.end && onready();
 | 
						||
                load && load.call(img);
 | 
						||
                // IE gif动画会循环执行onload,置空onload即可
 | 
						||
                img = img.onload = img.onerror = null;
 | 
						||
            };
 | 
						||
            // 加入队列中定期执行
 | 
						||
            if (!onready.end) {
 | 
						||
                list.push(onready);
 | 
						||
                // 无论何时只允许出现一个定时器,减少浏览器性能损耗
 | 
						||
                if (intervalId === null) intervalId = setInterval(tick, 40);
 | 
						||
            };
 | 
						||
        };
 | 
						||
    })();
 | 
						||
 | 
						||
    imgReady('<?php echo $img_url; ?>', function() {
 | 
						||
        // alert('size ready: width=' + this.width + '; height=' + this.height);
 | 
						||
        var hw = document.getElementById("wh");
 | 
						||
        hw.innerHTML = this.width + "x" + this.height
 | 
						||
    });
 | 
						||
 | 
						||
    // Exif信息
 | 
						||
    /*
 | 
						||
    window.onload = getExif;
 | 
						||
 | 
						||
    function getExif() {
 | 
						||
        var img1 = document.getElementById("img1");
 | 
						||
        EXIF.getData(img1, function() {
 | 
						||
            var make = EXIF.getTag(this, "Make");
 | 
						||
            var model = EXIF.getTag(this, "Model");
 | 
						||
            var makeAndModel = document.getElementById("makeAndModel");
 | 
						||
            makeAndModel.innerHTML = `${make} ${model}`;
 | 
						||
        });
 | 
						||
        var img2 = document.getElementById("img1");
 | 
						||
        EXIF.getData(img2, function() {
 | 
						||
            var allMetaData = EXIF.getAllTags(this);
 | 
						||
            var allMetaDataSpan = document.getElementById("allMetaDataSpan");
 | 
						||
 | 
						||
            allMetaDataSpan.innerHTML = EXIF.pretty(this);;
 | 
						||
        });
 | 
						||
    }
 | 
						||
    */
 | 
						||
 | 
						||
    //禁用右键
 | 
						||
    document.onkeydown = function() {
 | 
						||
        var e = window.event || arguments[0];
 | 
						||
        if (e.keyCode == 123) {
 | 
						||
            //    alert('禁止F12');
 | 
						||
            return false;
 | 
						||
        } else if ((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)) {
 | 
						||
            //    alert('禁止Ctrl+Shift+I');
 | 
						||
            return false;
 | 
						||
        } else if ((e.ctrlKey) && (e.keyCode == 85)) {
 | 
						||
            //    alert('禁止Ctrl+u');
 | 
						||
            return false;
 | 
						||
        } else if ((e.ctrlKey) && (e.keyCode == 83)) {
 | 
						||
            //    alert('禁止Ctrl+s');
 | 
						||
            return false;
 | 
						||
        }
 | 
						||
    }
 | 
						||
    // 屏蔽鼠标右键
 | 
						||
    document.oncontextmenu = function() {
 | 
						||
        new $.zui.Messager("正在查看图片详细信息", {
 | 
						||
            type: "success", // 定义颜色主题 
 | 
						||
            icon: "exclamation-sign" // 定义消息图标
 | 
						||
        }).show();
 | 
						||
        return false;
 | 
						||
    }
 | 
						||
 | 
						||
    // 更改网页标题
 | 
						||
    document.title = "图片<?php echo basename($getIMG); ?>的详细信息 - <?php echo $config['title']; ?>"
 | 
						||
</script>
 | 
						||
<?php
 | 
						||
/** 引入底部 */
 | 
						||
require_once APP_ROOT . '/app/footer.php';
 |