©x¤è 0606¸É¤B. ¨ãÅé×§ï¦b²Ä3¨B©M²Ä4¨B
<th valign="top"><div style="text-align: center;">{echo discuz_uc_avatar($discuz_uid)}</div></th>
<th valign="top"><div style="text-align: center;">{echo discuz_uc_avatar($discuz_uid)} <br><br> <a
href='uploadavatar.php'>{lang memcp_avatar_upload}</a> <br><br> <a href='remoteavatar.php'>{lang memcp_remoteavatar_upload}</a> </div></th>
4.
function discuz_uc_avatar($uid, $size = '', $returnsrc = FALSE) {
$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);
return $returnsrc ? UC_API.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2)."_avatar_$size.jpg" : '<img src="'.UC_API.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2)."_avatar_$size.jpg".'" onerror="this.onerror=null;this.src=\''.UC_API.'/images/noavatar_'.$size.'.gif\'">';
}
/*
¨ç¼Æ¡Gremote_file_exists
¥\¯à¡G§PÂ_»·µ{ÀɬO§_¦s¦b
°Ñ¼Æ¡G $url_file - »·µ{¤å¥óURL
ªð¦^¡G¦s¦bªð¦^true¡A¤£¦s¦b©ÎªÌ¨ä¥Lì¦]ªð¦^false
*/
function remote_file_exists($url_file){
//ÀË´ú¿é¤J
$url_file = trim($url_file);
if (empty($url_file)) { return false; }
$url_arr = parse_url($url_file);
if (!is_array($url_arr) || empty($url_arr)){ return false; }
//Àò¨ú½Ð¨D¸ê®Æ
$host = $url_arr['host'];
$path = $url_arr['path'] ."?". $url_arr['query'];
$port = isset($url_arr['port']) ? $url_arr['port'] : "80";
//³s±µ¦øªA¾¹
$fp = fsockopen($host, $port, $err_no, $err_str, 30);
if (!$fp){ return false; }
//ºc³y½Ð¨D¨ó©w
$request_str = "GET ".$path." HTTP/1.1\r\n";
$request_str .= "Host: ".$host."\r\n";
$request_str .= "Connection: Close\r\n\r\n";
//µo°e½Ð¨D
fwrite($fp, $request_str);
$first_header = fgets($fp, 1024);
fclose($fp);
//§PÂ_ÀɬO§_¦s¦b
if (trim($first_header) == ""){ return false; }
if (!preg_match("/200/", $first_header)){
return false;
}
return true;
}
function discuz_uc_avatar($uid, $size = '', $returnsrc = FALSE) {
global $db, $tablepre;
$query = $db->fetch_first("SELECT avatar FROM {$tablepre}memberfields where uid = $uid");
if($query['avatar'] != "")
if(remote_file_exists($query['avatar'])) return $returnsrc ? $query['avatar'] : '<img src="'.$query['avatar'].'">';
$avatar = $discuz_root.'./images/avatars/customavatars/'.$uid.'.jpg';
if(file_exists($avatar)) return $returnsrc ? $avatar : '<img src="'.$avatar.'">';
$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);
$avatar = UC_API.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2)."_avatar_$size.jpg";
if(!remote_file_exists($avatar)) $avatar = UC_API."/images/noavatar_$size.gif";
return $returnsrc ? $avatar : '<img src="'.$avatar.'">';
}