-
此页面随机显示本月12张图片,刷新页面可重新随机,如果不显示说明本月暂未上传图片。
+
此页面显示本月上传图片,如果不显示说明本月暂未上传图片。
-
+
diff --git a/functions/api.php b/functions/api.php
new file mode 100644
index 0000000..c12e680
--- /dev/null
+++ b/functions/api.php
@@ -0,0 +1,120 @@
+re_error('未选择文件!');
+ }
+ //检查用户是否登录
+ $status = $basis->check($config);
+
+ //检查用户是否登陆来判断上传目录
+ if($status == 'islogin') {
+ //设置上传路径
+ $updir = $config['admindir'];
+ }
+ else{
+ $updir = $config['userdir'];
+ //限制用户上传数量
+ $basis->limitnum();
+ }
+
+ //获取上传者信息
+ $ip = $basis->getip();
+ $ua = $_SERVER['HTTP_USER_AGENT'];
+ $date = date('Y-m-d',time());
+ //载入上传类
+ include('./class/class.upload.php');
+
+ //上传方法
+ $handle = new upload($_FILES['file']);
+ if ($handle->uploaded) {
+ $handle->file_new_name_body = 'image_resized';
+ //允许上传大小2m
+ $handle->file_max_size = '2097152';
+ //允许的MIME类型,仅运行上传图片
+ $handle->allowed = array('image/*');
+
+ // 当前月份
+ $current_time = date('ym',time());
+ //上传路径:目录 + 时间
+ $handle->process('../'.$updir.'/'.$current_time."/");
+ if ($handle->processed) {
+ //获取站点域名
+ $domain = $config['domain'];
+ //生成文件hash
+ $fhash = hash_file("md5",$handle->file_dst_pathname,FALSE);
+ $fhash = substr($fhash,8,16);
+ //新的文件名(../temp/1804/\d64c8036c0605175.jpg)
+ $new_img = $handle->file_dst_path.$fhash.'.'.$handle->file_dst_name_ext;
+ //图片URL地址
+ $imgurl = $domain.$updir.'/'.$current_time.'/'.$fhash.'.'.$handle->file_dst_name_ext;
+ //图片路径(temp/1804/d64c8036c0605175.jpg)
+ $imgdir = $updir.'/'.$current_time.'/'.$fhash.'.'.$handle->file_dst_name_ext;
+
+ //判断文件是否已经存在
+ if(!is_file($new_img)) {
+ //对文件更名
+ rename($handle->file_dst_pathname,$new_img);
+ }
+ else{
+ //删除原始文件
+ unlink($handle->file_dst_pathname);
+ }
+
+ //检查某张图片是否已经上传过,如果已经上传了,直接返回数据并终止操作
+ $basis->isupload($imgdir);
+
+ //没有上传过的图片,继续写入数据库
+ $last_user_id = $database->insert("imginfo", [
+ "path" => $imgdir,
+ "ip" => $ip,
+ "ua" => $ua,
+ "date" => $date,
+ "dir" => $updir,
+ "compress" => 0,
+ "level" => 0
+ ]);
+ //返回最后的ID
+ $account_id = $database->id();
+ //上传成功,返回json数据
+ $redata = array(
+ "code" => 1,
+ "id" => $account_id,
+ "url" => $imgurl,
+ "width" => $handle->image_dst_x,
+ "height" => $handle->image_dst_y
+ );
+
+ //直接返回图片URL
+ if($type == 'url'){
+ echo $imgurl;
+ }
+ else{
+ //返回json
+ echo $redata = json_encode($redata);
+ }
+
+ $handle->clean();
+ //继续请求鉴黄接口
+ $basis->curlZip($account_id,$config['domain']);
+ } else {
+ //上传出现错误,返回报错信息
+ $redata = array(
+ "code" => 0,
+ "msg" => $handle->error
+ );
+ echo json_encode($redata);
+ }
+ }
+?>
\ No newline at end of file
diff --git a/functions/class/class.admin.php b/functions/class/class.admin.php
index bc1df81..9b850c9 100644
--- a/functions/class/class.admin.php
+++ b/functions/class/class.admin.php
@@ -93,6 +93,53 @@
break;
}
}
+ //新版查询图片
+ function newquery($type,$date = null){
+ //echo $type;
+ //exit;
+ //获取当前时间
+ $thetime = date('Y-m',time());
+ //对时间进行拆分
+ if($date != null){
+ $date = explode("|",$date);
+
+ $starttime = $date[0];
+ $endttime = $date[1];
+ }
+
+ $config = $this->config;
+ $database = $this->database;
+
+ //判断类型
+ switch ($type) {
+ case 'user':
+ // echo 'dsd';
+ $datas = $database->select("imginfo", "*", [
+ "dir" => $config['userdir'],
+ "date[~]" => $thetime,
+ "ORDER" => ["id" => "DESC"]
+ ]);
+ // var_dump( $database->log() );
+ // exit;
+ return $datas;
+ break;
+ case 'admin':
+ $datas = $database->select("imginfo", "*", [
+ "dir" => $config['admindir'],
+ "date[~]" => $thetime,
+ "ORDER" => ["id" => "DESC"]
+ ]);
+ return $datas;
+ break;
+ default:
+ $sql = "SELECT * FROM imginfo WHERE date(date) BETWEEN '$starttime' AND '$endttime' ORDER BY `id` DESC";
+
+ $datas = $database->query($sql);
+ //var_dump($database->log());
+ return $datas;
+ break;
+ }
+ }
//删除一张图片
function delete($id){
$config = $this->config;
diff --git a/functions/class/class.user.php b/functions/class/class.user.php
index 809cc6a..45db975 100644
--- a/functions/class/class.user.php
+++ b/functions/class/class.user.php
@@ -143,6 +143,36 @@
break;
}
}
+ //返回错误json
+ function re_error($msg){
+ $arr = array(
+ "code" => 0,
+ "msg" => $msg
+ );
+ $rejson = json_encode($arr);
+ echo $rejson;
+ exit;
+ }
+ //请求tipng和鉴黄接口
+ function curlZip($id,$domain){
+ //组合为完整的接口
+ $apiurl = $domain.'dispose.php?id='.$id;
+ //请求接口
+ $curl = curl_init($apiurl);
+
+ curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36");
+ curl_setopt($curl, CURLOPT_FAILONERROR, true);
+ curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
+ curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
+ #设置超时时间,最小为1s(可选)
+ curl_setopt($curl , CURLOPT_TIMEOUT, 2);
+
+ @curl_exec($curl);
+ curl_close($curl);
+ //var_dump($html);
+ }
}
//自动初始化完成一些基础操作
diff --git a/functions/upload.php b/functions/upload.php
index c1ebc75..3717b32 100644
--- a/functions/upload.php
+++ b/functions/upload.php
@@ -1,9 +1,16 @@
re_error('非法请求!');
+ }
+
//检查用户是否登录
$status = $basis->check($config);
+
//检查用户是否登陆来判断上传目录
if($status == 'islogin') {
//设置上传路径
diff --git a/functions/version.txt b/functions/version.txt
index 75ca56c..70371cb 100644
--- a/functions/version.txt
+++ b/functions/version.txt
@@ -1 +1 @@
-v1.21(20180831)
\ No newline at end of file
+v1.3(20180911)
\ No newline at end of file
diff --git a/index.php b/index.php
index 5013068..46ac27f 100644
--- a/index.php
+++ b/index.php
@@ -6,11 +6,11 @@
-
注意:您上传的图片将会公开显示,勿上传隐私图片。游客限制每天5张,最大支持2M
+
注意:您上传的图片将会公开显示,勿上传隐私图片。游客限制每天10张,最大支持2M
-
点击上传,或将图片拖拽到此处
+
将图片拖拽到此处,支持Ctrl + V粘贴上传
@@ -19,7 +19,7 @@
-
+
@@ -55,7 +55,64 @@
+
+
+
\ No newline at end of file
diff --git a/miniup.html b/miniup.html
index dce0ea9..b00eeff 100644
--- a/miniup.html
+++ b/miniup.html
@@ -195,7 +195,7 @@
},
error: function(error){
layer.closeAll('loading');
- alert("上传失败!");
+ layer.msg('上传失败!');
}
});
diff --git a/static/embed.js b/static/embed.js
index f67ab5f..11d1420 100644
--- a/static/embed.js
+++ b/static/embed.js
@@ -454,7 +454,7 @@ function urlup(){
}
//时间筛选
-function screen(){
+function screen(page){
var starttime = $("#starttime").val();
var endtime = $("#endtime").val();
@@ -466,6 +466,6 @@ function screen(){
}
else{
- window.location.href = "./senioradmin.php?page=1&date=" + starttime + '|' + endtime;
+ window.location.href = page + "?page=1&date=" + starttime + '|' + endtime;
}
}
\ No newline at end of file
diff --git a/static/layui/lay/modules/flow.js b/static/layui/lay/modules/flow.js
index 64afe93..bf5a2b8 100644
--- a/static/layui/lay/modules/flow.js
+++ b/static/layui/lay/modules/flow.js
@@ -1,2 +1,2 @@
/** layui-v2.2.6 MIT License By https://www.layui.com */
- ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)});
\ No newline at end of file
+ ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&& e.attr("lay-src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)});
\ No newline at end of file
diff --git a/static/loading32.gif b/static/loading32.gif
new file mode 100644
index 0000000..5bb90fd
Binary files /dev/null and b/static/loading32.gif differ
diff --git a/tpl/admin/left.php b/tpl/admin/left.php
index 30ccfce..d1df45b 100644
--- a/tpl/admin/left.php
+++ b/tpl/admin/left.php
@@ -4,8 +4,8 @@
看图模式
- - 游客上传
- - 管理员上传
+ - 游客上传
+ - 管理员上传
- SM.MS
diff --git a/tpl/user/footer.php b/tpl/user/footer.php
index f6aa142..5237dfc 100644
--- a/tpl/user/footer.php
+++ b/tpl/user/footer.php
@@ -18,6 +18,6 @@
-
+