EasyImages2.0/application/info.php

321 lines
15 KiB
PHP
Raw Normal View History

2022-01-19 10:56:59 +00:00
<?php
include_once __DIR__ . "/header.php";
if (!$config['show_exif_info'] && !is_who_login('admin')) exit(header('Location: ' . $config['domain'] . '?exif#closed'));
2022-01-27 09:25:46 +00:00
2022-05-03 05:00:40 +00:00
// 获取图片地址
2022-01-19 10:56:59 +00:00
if (isset($_GET['img'])) {
2022-05-03 05:00:40 +00:00
// 过滤特殊符号
2022-01-19 10:56:59 +00:00
$getIMG = strip_tags($_GET['img']);
2022-05-18 13:38:23 +00:00
$del_url = $config['domain'] . $getIMG;
} elseif (isset($_GET['history'])) {
// 过滤特殊符号
$getIMG = $config['path'] . ltrim(strip_tags($_GET['history']), '/');
$del_url = $config['domain'] . $getIMG;
2022-05-03 05:00:40 +00:00
} else {
// 未获取到图片地址
2022-05-18 13:38:23 +00:00
$getIMG = "/public/images/404.png";
$del_url = "#";
2022-05-03 05:00:40 +00:00
}
2022-01-19 10:56:59 +00:00
2022-05-03 05:00:40 +00:00
// 开启隐藏上传目录
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));
2022-01-19 10:56:59 +00:00
} else {
2022-05-03 05:00:40 +00:00
// 关闭隐藏上传目录
$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' => '日志不存在'));
2022-05-03 05:00:40 +00:00
}
// 图片真实路径
$imgABPath = APP_ROOT . $getIMG;
// 图片是否存在
if (!is_file($imgABPath)) {
2022-05-03 05:00:40 +00:00
$imgABPath = APP_ROOT . "/public/images/404.png";
2023-02-01 15:26:53 +00:00
$img_url = $config['domain'] . "/public/images/404.png";
2022-01-19 10:56:59 +00:00
}
// 图片尺寸
2022-05-03 05:00:40 +00:00
$imgSize = filesize($imgABPath);
2022-01-19 10:56:59 +00:00
// 上传时间
2022-05-03 05:00:40 +00:00
$upTime = filemtime($imgABPath);
2022-04-08 13:33:53 +00:00
// 广告
if ($config['ad_top']) echo $config['ad_top_info'];
2022-01-19 10:56:59 +00:00
?>
<div class="col-md-12">
<div class="col-md-5" style="text-align: center;">
2023-02-01 15:26:53 +00:00
<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; ?>" />
2022-01-19 10:56:59 +00:00
</div>
2022-09-20 05:44:48 +00:00
<div class="col-md-6 table-responsive table-condensed" style="margin-top: 10px;">
<table class="table table-hover table-striped table-bordered text-nowrap">
2022-05-25 10:23:17 +00:00
<tbody>
<tr>
<td>图片名称</td>
<td> <?php echo basename($getIMG); ?></td>
2022-05-25 10:23:17 +00:00
</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>
2022-05-25 10:23:17 +00:00
</tr>
<?php if (is_who_login('admin')) : ?>
<tr class="text-primary">
<td>原始名称</td>
<td><?php echo $logs[$logsName]['source']; ?></td>
</tr>
<tr class="text-primary">
<td>原始大小</td>
<td><?php echo $logs[$logsName]['size']; ?></td>
</tr>
<tr class="text-primary">
<td>上传用户</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; ?>
2022-05-25 10:23:17 +00:00
<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>
2022-05-25 10:23:17 +00:00
<a class="btn btn-mini btn-primary" href="/application/down.php?dw=<?php echo $getIMG; ?>" target="_blank"><i class="icon icon-cloud-download"> 下载</i></a>
<?php if (isset($config['report']) && !is_who_login('admin')) : ?>
2022-07-10 14:48:21 +00:00
<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; ?>
2022-05-25 10:23:17 +00:00
<?php if (is_who_login('admin')) : ?>
<a class="btn btn-mini btn-warning" href="/application/del.php?recycle_url=<?php echo $getIMG; ?>" target="_blank"><i class="icon icon-undo"> 回收</i></a>
<a class="btn btn-mini btn-warning" href="/application/del.php?url=<?php echo $del_url; ?>" target="_blank"><i class="icon icon-trash"> 删除</i></a>
2022-05-25 10:23:17 +00:00
<?php endif; ?>
</td>
</tr>
</tbody>
</table>
2022-07-10 14:48:21 +00:00
<h4 class="with-padding hl-gray"><i class="icon icon-info-sign"> 此图片来自网友上传, 不代表<a href="/admin/terms.php" target="_blank">本站立场</a>, 若有侵权, 请举报或联系管理员!</i></h4>
2022-01-19 10:56:59 +00:00
</div>
</div>
2022-07-10 14:48:21 +00:00
<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> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
2022-01-19 10:56:59 +00:00
</div>
2022-07-10 14:48:21 +00:00
</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> 论坛代码&nbsp;&nbsp;&nbsp;</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>
2022-01-19 10:56:59 +00:00
</div>
</div>
2022-07-10 14:48:21 +00:00
</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="![简单图床 - EasyImage](<?php echo $img_url; ?>)">
<span class="input-group-btn"><button class="btn btn-default copyBtn3" type="button">复制</button></span>
2022-01-19 10:56:59 +00:00
</div>
2022-07-10 14:48:21 +00:00
</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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>
2022-01-19 10:56:59 +00:00
</div>
</div>
</div>
2023-02-14 13:19:26 +00:00
<?php /** 底部广告 */ if ($config['ad_bot']) echo $config['ad_bot_info']; ?>
2022-07-10 14:48:21 +00:00
<!-- 随机图片 -->
<?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; ?>
2022-07-10 14:48:21 +00:00
</div>
</div>
<?php endif; ?>
2022-01-19 10:56:59 +00:00
<script src="<?php static_cdn(); ?>/public/static/EasyImage.js"></script>
2022-04-08 13:33:53 +00:00
<script src="<?php static_cdn(); ?>/public/static/zui/lib/clipboard/clipboard.min.js"></script>
2022-01-19 10:56:59 +00:00
<script>
2022-05-05 01:13:18 +00:00
// 获取图片长宽 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
});
2022-01-19 10:56:59 +00:00
// Exif信息
2022-05-18 13:38:23 +00:00
/*
2022-01-19 10:56:59 +00:00
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);;
});
}
2022-05-18 13:38:23 +00:00
*/
2022-05-18 13:38:23 +00:00
//禁用右键
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;
}
2022-01-19 10:56:59 +00:00
// 更改网页标题
2022-05-03 05:00:40 +00:00
document.title = "图片<?php echo basename($getIMG); ?>的详细信息 - <?php echo $config['title']; ?>"
2022-01-19 10:56:59 +00:00
</script>
<?php
/** 引入底部 */
require_once APP_ROOT . '/application/footer.php';