0

我正在为在线 MMO PC 游戏构建一个非常基本的站点(注意:游戏有一个内置的 API)。我需要允许用户将“角色设置”文件从他们 PC 上的游戏设置目录上传到我的网络服务器。文件上传后,他们需要能够修改文件名,将它们应用于服务器上的另一个角色,并重新下载文件。

示例:我有一个名叫汤姆的角色。每个角色都有两个与之关联的设置文件:

  • core_user_1234567.dat
  • core_char_12345678.dat 文件

我有另一个叫杰瑞的角色。我想为他设置与汤姆相同的设置。为此,我想将 Tom 的设置文件上传到 Web 服务器,将 Jerry 的值userIDcharacterID值输入到表单中,然后重新下载附加了这些值的文件,同时从上传的文件名中删除旧值。这基本上取代了core_user_"this".datto core_user_"that".dat

为了获得应用程序运行所需的功能,我需要完成的步骤。

步骤 1.) 用户通过调用该角色的游戏 API 从游戏服务器获取 Tom的UserIDCharacterID 。(用户将他的 API 密钥输入表单并提交。这将返回要在浏览器中显示的两个值。这只是一个引用调用,因此我可以在浏览器中向用户显示这些值,以便用户知道哪两个设置文件对应于他试图克隆的角色(在本例中为汤姆)。文件夹中可能已经有很多组设置文件。(这一步我已经可以实现)。

步骤 2.) 一旦用户知道哪两个设置文件属于 Tom,用户然后定位并上传 Toms 设置文件到网络服务器。

步骤 3.) 现在,一旦文件在服务器上,用户需要获取Jerry的用户 ID字符ID。我做与第 1 步相同的事情。进行 API 调用并将返回的值显示给浏览器,以便用户知道这些值。

第 4 步。)然后,用户可以将值插入表单并提交。提交后,这些值将附加到临时存储在服务器上的设置文件中,并生成下载链接。

步骤 5.) 用户将新的设置文件下载到设置目录并完成。Jerry 现在拥有与 Tom 相同的设置文件。

编辑:我的询问是关于第 2 步和第 5 步。PHP 方面的事情。如何编写这个简单的上传脚本。上传文件,将字符串传递给文件名,替换第二个_之后和.dat之前的所有内容,然后生成下载链接?core_user_"replacethisstring".dat

4

1 回答 1

0

您的问题仍然相当广泛,但我很乐意提供一些建议。看来您需要一些帮助的是 PHP 代码。以下是我认为您需要的广泛步骤:

  • 用于识别个人用户的登录/注销系统
  • 供用户指定其用户和角色 ID 的个人资料页面
  • 文件上传表单(例如 Tom)
  • 一个下载表单(例如 Jerry),其中指定了 Jerry 的 userID 和 characterID
  • 修改上传文件的系统

因此,Tom 登录并使用上传表单上传他的两个文件。它们存储在以他的用户 ID 命名的文件夹中,因此它们不会与其他任何人的文件混淆。一个称为“core_user”,另一个称为“core_char”(因为这里较长的后缀是多余的)。

Jerry 现在登录。他将自己的“userID”和“characterID”输入到下载表单中。他是否还需要指定他希望克隆 Tom 的文件,而不是 Road Runner 的?如果是这样,他会在这个阶段这样做。然后该页面向他显示两个下载链接,每个文件一个。

当他点击每一个时,它们是从目标用户动态生成的,并根据下载者自己的详细信息进行修改。这可以另外存储为该用户的文件,但在此阶段没有必要。要执行此步骤,请使用 读取文件file_get_contents,使用字符串操作函数对其进行修改,然后将其回显到浏览器。如果您使用适当的标题,它将显示为可下载文件,而不是文本文档。

有争议的是,Jerry 不需要在下载表单中指定他的 userID 和 characterID,因为如果他已经登录,这些可以从他的个人资料中获得。

您会注意到我在这里没有提到 API - 我不完全确定在您的上下文中它是什么,但这可能会分散您的注意力。首先获得最简单的版本。

所以,这里的问题被分解了很多。如果你发现一个子问题无法克服,那么它可能需要再次分解,直到每个东西都是 PHP 调用或 HTML 表单。

于 2013-11-08T22:04:45.613 回答