62,051
社区成员
<?php
$charId = $_POST['char_id'];
$nameServer =$_POST['name_server'];
$uiLoadSuccess =$_POST['ui_load_success'];
$group = substr($charId, -3);
$file_tmp = $_FILES["ui"]["tmp_name"];
$target_dir = "ui/" . $nameServer ."/" .$group ."/";
$target_file = $target_dir . basename($_FILES["ui"]["name"]);
if(!is_dir($target_dir)){
mkdir($target_dir, 0755, true);
}
if (move_uploaded_file($_FILES["ui"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["ui"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
?>
using Aura.Shared.Util;
using Swebs;
using Swebs.RequestHandlers.CSharp;
using System;
using System.Text.RegularExpressions;
public class UiStorageController : Controller
{
public override void Handle(HttpRequestEventArgs args, string requestedPath, string localPath)
{
var request = args.Request;
var response = args.Response;
response.ContentType = "text/plain";
// Get file
var file = request.File("ui");
if (file == null)
{
Log.Debug("UiStorageController: Missing file.");
return;
}
// Check file name
if (!Regex.IsMatch(file.FileName, @"^[0-9]{16}\.xml$"))
{
Log.Debug("UiStorageController: Invalid file name '{0}'.", file.FileName);
return;
}
var charId = request.Parameter("char_id", null);
var serverName = request.Parameter("name_server", null);
var loadSuccess = request.Parameter("ui_load_success", null);
// Check parameters
if (!Regex.IsMatch(charId, @"^[0-9]{16}$") || !Regex.IsMatch(charId, @"^[0-9A-Za-z_ ]+$"))
{
Log.Debug("UiStorageController: Invalid character id ({0}) or server name ({1}).", charId, serverName);
return;
}
var group = charId.Substring(charId.Length - 3);
// Move file
try
{
file.MoveTo("user/web/upload/ui/" + serverName + "/" + group + "/" + file.FileName);
}
catch (Exception ex)
{
Log.Exception(ex, "UiStorageController: Failed to move file.");
}
// Success
response.Send("1");
}
}
using System;
using System.Web;
using System.Text.RegularExpressions;
public partial class UiStorageController : System.Web.UI.Page
{
public override void ProcessRequest(HttpContext context)
{
var charId = context.Request.Form["char_id"];
var nameServer = context.Request.Form["name_server"];
var uiLoadSuccess = context.Request.Form["ui_load_success"];
var group = charId.Substring(charId.Length - 3);
var file_tmp = context.Request.Files["ui"];
var target_dir = context.Server.MapPath("ui/" + nameServer + "/" + group);
var fileinfo = new System.IO.FileInfo(file_tmp.FileName);
var target_file = target_dir + fileinfo.Name;
if (!System.IO.Directory.Exists(target_dir))
{
System.IO.Directory.CreateDirectory(target_dir);
}
try
{
file_tmp.SaveAs(target_dir + "\\" + fileinfo.Name);
context.Response.Write(string.Format("Thie file {0} has been uploaded.", fileinfo.Name));
}
catch (Exception)
{
context.Response.Write("Sorry, there was an error uploading your file.");
}
}
}
前。 提醒第一次安装的朋友: 1) 登录时必须删除站点ID中的数字才能以超级管理员的身份进入控制台。 2) 如果第五步时忘记了选择“压缩后立即启动”,则安装好后一切正常,但 是不计数。解决办法是重做第五步。 3) 安放嵌入代码的时候只放了“显示输出代码”而忘记了放上“统计计数代 码”,这导致系统不计数。 4) 如果只在首页放嵌入代码,则从栏目页进入首页时并不计数,这是2.2的防 刷机制决定的。建议在所有页面放置嵌入代码。 安装和调试时容易遇到的问题: 1) 问:我从搜索引擎中搜索不同的关键词进入多次,但只列出一个关键词。 答:后面的几次进入被系统认为是“刷新”或者“站内页面跳转”,系统 并不对关键词等信息进行分析。 2) 问:我的系统不支持FSO,安装步骤的4、5都无法进行。 答:① 修改 inc_config.asp 中相应的选项并重新上传,完成第四步。 ② 修改 inc_config_iscan.asp ,将false改为true,启动系统,完 成第五步。 3) 问:我的服务器FSO已改名,如何使用? 答:用文本编辑器编辑 inc_config.asp 和 inc_config_model.asp 两个 文件,将其中的FSO名称改为你需要的名称即可。 4、引用数据 ================= 点击功能树中的“嵌入代码助手”,填写“显示数据代码”的各项参数(可 点击该页面的帮助按钮查看详细的设置方法)后得到显示数据的嵌入代码。 并将代码放入要显示的页面上。 5、查看统计报告 ================= 1) 查看默认站点的统计报告,可访问以下地址: http://系统安装路径/index.asp 2) 查看非默认站点的统计报告,可访问以下地址: http://系统安装路径/index.asp?siteid=站点ID 6、多站点 ================= 1) 添加站点 用 3、安装 中的办法进入超管控制面板,点击功能树中的“添加账号”, 按提示添加。 2) 站点管理员登录 进入统计报告查看页面,点击“管理员登录”链接进入登录页面,输入 站点管理员用户名和密码登录即可。新创建的站点的站点管理员的默认用户 名和密码均为 admin。 3) 修改站点权限 用 3、安装 中的办法进入超管控制面板,点击功能树中的“账号列表”, 点击相应站点后面的“改”字,根据提示修改站点权限。 7、更多应用 ================= 您可以通过技术支持信箱(向您发送此压缩包的信箱)与我联系获取更多技 术支持。 如果您是服务包用户(纯授权包用户不享有此服务),您可以到阿江统计官 方论坛( http://bbs.ajiang.net )的付费用户技术支持区获得更多的技 术支持。