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.
 
 
 
 

55 lines
1.7 KiB

<?php
/*
* @copyright Leyun internet Technology(Shanghai)Co.,Ltd
* @license http://www.dzzoffice.com/licenses/license.txt
* @package DzzOffice
* @link http://www.dzzoffice.com
* @author zyx(zyx@dzz.cc)
*/
error_reporting(0);
define('SITEURL', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
$uid = $_GET['uid'] ?? 0;
$size = $_GET['size'] ?? '';
$random = $_GET['random'] ?? '';
$type = $_GET['type'] ?? '';
$check = $_GET['check_file_exists'] ?? '';
$avatar = './data/avatar/' . get_avatar($uid, $size, $type);
if (file_exists(dirname(__FILE__) . '/' . $avatar)) {
if ($check) {
echo 1;
exit;
}
$random = !empty($random) ? rand(1000, 9999) : '';
$avatar_url = empty($random) ? $avatar : $avatar . '?random=' . $random;
} else {
if ($check) {
echo 0;
exit;
}
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
$avatar_url = 'static/image/avatar/noavatar_' . $size . '.gif';
}
if (empty($random)) {
header("HTTP/1.1 301 Moved Permanently");
header("Last-Modified:" . date('r'));
header("Expires: " . date('r', time() + 86400));
}
header('Location: ' . SITEURL . '/' . $avatar_url);
exit;
function get_avatar($uid, $size = 'middle', $type = '') {
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
$uid = abs(intval($uid));
$uid = sprintf("%09d", $uid);
$dir1 = substr($uid, 0, 3);
$dir2 = substr($uid, 3, 2);
$dir3 = substr($uid, 5, 2);
$typeadd = $type == 'real' ? '_real' : '';
return $dir1 . '/' . $dir2 . '/' . $dir3 . '/' . substr($uid, -2) . $typeadd . "_avatar_$size.jpg";
}