mirror of https://github.com/helloxz/imgurl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
3.7 KiB
142 lines
3.7 KiB
<?php |
|
error_reporting(E_ALL^E_NOTICE^E_WARNING^E_DEPRECATED); |
|
//获取真实IP |
|
function get_ip() { |
|
if (getenv('HTTP_CLIENT_IP')) { |
|
$ip = getenv('HTTP_CLIENT_IP'); |
|
} |
|
elseif (getenv('HTTP_X_FORWARDED_FOR')) { |
|
$ip = getenv('HTTP_X_FORWARDED_FOR'); |
|
} |
|
elseif (getenv('HTTP_X_FORWARDED')) { |
|
$ip = getenv('HTTP_X_FORWARDED'); |
|
} |
|
elseif (getenv('HTTP_FORWARDED_FOR')) { |
|
$ip = getenv('HTTP_FORWARDED_FOR'); |
|
|
|
} |
|
elseif (getenv('HTTP_FORWARDED')) { |
|
$ip = getenv('HTTP_FORWARDED'); |
|
} |
|
else { |
|
$ip = $_SERVER['REMOTE_ADDR']; |
|
} |
|
return $ip; |
|
} |
|
//获取UA |
|
function get_ua(){ |
|
$ua = $_SERVER['HTTP_USER_AGENT']; |
|
return $ua; |
|
} |
|
//创建token |
|
function token($user,$pass){ |
|
//token生成算法为:用户名 + md5后的密码 + ip + ua |
|
$token = $user.$pass.get_ip().get_ua(); |
|
$token = md5($token); |
|
|
|
return $token; |
|
} |
|
//判断用户是否登录 |
|
function is_login($user,$pass){ |
|
$token = $user.$pass.get_ip().get_ua(); |
|
$token = md5($token); |
|
|
|
$username = $_COOKIE['user']; |
|
$password = $_COOKIE['token']; |
|
|
|
//进行判断 |
|
if(($user != $username) || ($password != $token)){ |
|
echo '权限不足!'; |
|
exit; |
|
} |
|
else{ |
|
return true; |
|
} |
|
} |
|
//判断文件MIME类型 |
|
function mime($path){ |
|
$mime = mime_content_type($path); |
|
switch ( $mime ) |
|
{ |
|
case 'image/gif': |
|
case 'image/png': |
|
case 'image/jpeg': |
|
case 'image/bmp': |
|
case 'image/webp': |
|
return TRUE; |
|
break; |
|
default: |
|
return FALSE; |
|
break; |
|
} |
|
} |
|
//根据MIME类型返回文件后缀 |
|
function ext($path){ |
|
$mime = mime_content_type($path); |
|
switch ( $mime ) |
|
{ |
|
case 'image/gif': |
|
return '.gif'; |
|
break; |
|
case 'image/png': |
|
return '.png'; |
|
break; |
|
case 'image/jpeg': |
|
return '.jpg'; |
|
break; |
|
case 'image/bmp': |
|
return '.bmp'; |
|
break; |
|
case 'image/webp': |
|
return '.webp'; |
|
break; |
|
default: |
|
return FALSE; |
|
break; |
|
} |
|
} |
|
//获取文件大小 |
|
function file_size($path){ |
|
//先判断文件是否存在 |
|
if(!is_file($path)){ |
|
$name = '0 byte'; |
|
} |
|
else{ |
|
//继续执行 |
|
$size = filesize($path); |
|
//转换为KB |
|
$size = $size / 1024; |
|
$size = round($size,1); |
|
$name = $size.' KB'; |
|
//转换为Mb |
|
if($size >= 1024){ |
|
$size = $size / 1024; |
|
$size = round($size,1); |
|
$name = $size.' MB'; |
|
} |
|
|
|
} |
|
return $name; |
|
} |
|
//缩略图函数 |
|
function thumbnail($img){ |
|
//返回路径 |
|
$dir = dirname($img['path']); |
|
$thumbnail_name = $dir.'/'.$img['imgid'].'_thumb'.$img['ext']; |
|
|
|
|
|
//缩略图完整地址 |
|
$fullpath = FCPATH.$thumbnail_name; |
|
//echo $fullpath; |
|
//判断缩略图是否存在 |
|
if(is_file($fullpath)){ |
|
return $thumbnail_name; |
|
} |
|
//$thumbnail_name = $dir.$name.'_thumb'; |
|
//返回缩略图地址,不带文件名 |
|
//返回原图 |
|
else{ |
|
return $img['path']; |
|
} |
|
} |
|
?>
|