2018-12-23 06:10:06 +00:00
< ? php
/*
name : 图片管理
author : xiaoz . me
QQ : 337003006
*/
defined ( 'BASEPATH' ) OR exit ( 'No direct script access allowed' );
class Manage extends CI_Controller {
//构造函数
public function __construct (){
parent :: __construct ();
//加载基础操作类
$this -> load -> library ( 'basic' );
//验证用户是否登录
$this -> basic -> is_login ( TRUE );
//加载查询模型
$this -> load -> model ( 'query' , '' , TRUE );
}
//管理员上传
public function images ( $type = 'all' , $page = 0 ){
2019-05-30 07:17:26 +00:00
//获取传入的值
@ $value = $this -> input -> get ( 'value' , TRUE );
//获取传入的时间
@ $date = $this -> input -> get ( 'date' , TRUE );
//把时间分割为数组
$tmp_date = explode ( " | " , $date );
//开始时间
$start_time = $tmp_date [ 0 ];
//结束时间
$end_time = $tmp_date [ 1 ];
//获取类型
2018-12-23 06:10:06 +00:00
$type = strip_tags ( $type );
2019-05-30 07:17:26 +00:00
//获取分页
2018-12-23 06:10:06 +00:00
$page = ( int ) strip_tags ( $page );
$limit = 16 ; //要查询的条数
$data [ 'admin_title' ] = '图片管理' ;
$sql1 = " SELECT a.id,a.imgid,a.path,a.thumb_path,a.date,a.compression,a.level,b.mime,b.width,b.height,b.views,b.ext,b.client_name FROM img_images AS a INNER JOIN img_imginfo AS b ON a.imgid = b.imgid " ;
//根据不同的条件生成不同的SQL语句
switch ( $type ) {
2019-05-30 07:17:26 +00:00
//所有图片
2018-12-23 06:10:06 +00:00
case 'all' :
2019-05-30 07:17:26 +00:00
//如果存在时间,则按时间筛选
if ( ( isset ( $date )) && ( $date != '' ) ){
$sql = $sql1 . " AND (Date(a.date) BETWEEN ' { $start_time } ' AND ' { $end_time } ') ORDER BY a.id DESC " ;
}
else {
$sql = $sql1 . " ORDER BY a.id DESC LIMIT $limit OFFSET $page " ;
$num = $this -> db -> count_all ( " images " );
}
2018-12-23 06:10:06 +00:00
break ;
2019-05-30 07:17:26 +00:00
//管理员上传
2018-12-23 06:10:06 +00:00
case 'admin' :
2019-05-30 07:17:26 +00:00
//如果存在时间,则按时间筛选
if ( ( isset ( $date )) && ( $date != '' ) ){
$sql = $sql1 . " AND a.user = 'admin' AND (Date(a.date) BETWEEN ' { $start_time } ' AND ' { $end_time } ') ORDER BY a.id DESC " ;
}
else {
$sql = $sql1 . " AND a.user = 'admin' ORDER BY a.id DESC LIMIT $limit OFFSET $page " ;
$num = $this -> query -> count_num ( 'admin' ) -> num ;
}
2018-12-23 06:10:06 +00:00
break ;
2019-05-30 07:17:26 +00:00
//游客上传
2018-12-23 06:10:06 +00:00
case 'visitor' :
2019-05-30 07:17:26 +00:00
//如果存在时间,则按时间筛选
if ( ( isset ( $date )) && ( $date != '' ) ){
$sql = $sql1 . " AND a.user = 'visitor' AND (Date(a.date) BETWEEN ' { $start_time } ' AND ' { $end_time } ') ORDER BY a.id DESC " ;
}
else {
$sql = $sql1 . " AND a.user = 'visitor' ORDER BY a.id DESC LIMIT $limit OFFSET $page " ;
$num = $this -> query -> count_num ( 'visitor' ) -> num ;
}
2018-12-23 06:10:06 +00:00
break ;
2019-05-30 07:17:26 +00:00
//可疑图片
2018-12-23 06:10:06 +00:00
case 'dubious' :
$sql = $sql1 . " AND a.level = 'adult' ORDER BY a.id DESC " ;
//$num = $this->query->count_num('visitor')->num;
break ;
2019-05-30 07:17:26 +00:00
case 'id' :
$value = ( int ) $value ;
if ( $value === 0 ){
//echo $value;
exit ( " 不是有效的ID, 请重新输入! " );
}
$sql = $sql1 . " AND a.id = { $value } " ;
//$num = 1;
break ;
case 'imgid' :
if ( strlen ( $value ) != 16 ){
exit ( " 不是有效的ImgID, 请重新输入! " );
}
$sql = $sql1 . " AND a.imgid = ' { $value } ' " ;
break ;
case 'ip' :
if ( ! filter_var ( $value , FILTER_VALIDATE_IP )){
exit ( '不是有效的IP地址, 请重新输入! ' );
}
$sql = $sql1 . " AND a.ip = ' { $value } ' " ;
break ;
2018-12-23 06:10:06 +00:00
default :
$sql = $sql1 . " AND a.user = ' $type ' ORDER BY a.id DESC LIMIT $limit OFFSET $page " ;
break ;
}
//连接数据库
$this -> load -> database ();
$data [ 'imgs' ] = $this -> db -> query ( $sql ) -> result_array ();
//调用分页类
$this -> load -> library ( 'pagination' );
$config [ 'base_url' ] = " /manage/images/ $type / " ;
$config [ 'total_rows' ] = $num ;
$config [ 'per_page' ] = $limit ;
$config [ 'first_url' ] = 0 ;
$config [ 'first_link' ] = '首页' ;
$config [ 'last_link' ] = '尾页' ;
$config [ 'attributes' ] = array ( 'class' => 'paging' ); //设置分页的class
$config [ 'next_link' ] = '下一页' ; //下一页文本
$config [ 'prev_link' ] = '上一页' ; //上一页文本
$this -> pagination -> initialize ( $config );
$data [ 'page' ] = $this -> pagination -> create_links ();
//获取域名
$data [ 'domain' ] = $this -> query -> domain ( 'localhost' );
//加载视图
$this -> load -> view ( 'admin/header' , $data );
$this -> load -> view ( 'admin/left' );
$this -> load -> view ( 'admin/images' , $data );
$this -> load -> view ( 'admin/footer' );
}
//获取单张图片信息
public function imginfo ( $imgid ){
$imgid = strip_tags ( $imgid );
$row = $this -> query -> picinfo ( $imgid );
//获取文件大小
$this -> load -> helper ( 'basic' );
$fullpath = FCPATH . $row -> path ;
$size = file_size ( $fullpath );
$row -> size = $size ;
//加载视图
$this -> load -> view ( " admin/imginfo " , $row );
}
}
?>