我正在为在线MMO PC游戏建立一个非常基本的网站(注意:游戏有一个内置的API)。我需要能够允许用户将“角色设置”文件从他们PC上的游戏设置目录上传到我的网络服务器。文件上传后,他们需要能够修改文件名,将它们应用到服务器上的其他角色,并重新下载文件。
示例:我有一个名为Tom的角色。每个角色都有两个与之关联的设置文件:
我有另一个名叫杰里的角色。我想用与Tom相同的设置来设置他。为此,我想将Tom的设置文件上传到Web服务器,将Jerry的userID
和characterID
值输入到表单中,然后重新下载附加了这些值的文件,同时从中删除旧值上传的文件名。这基本上取代了core_user_"this".dat
到core_user_"that".dat
。
我需要完成的步骤才能获得应用程序运行所需的功能。
步骤1.)用户通过调用该角色的游戏API,从游戏服务器获取Tom的 UserID 和 CharacterID 。 (用户将他的API密钥输入表单并提交。这将返回要在浏览器中显示的两个值。这只是一个参考调用,因此我可以在浏览器中向用户显示值,以便用户知道哪两个设置文件对应于他试图克隆的字符(在本例中为Tom)。文件夹中可能有许多设置文件集。(这一步我已经可以实现了。)
步骤2.)一旦用户知道哪两个设置文件属于Tom,用户就可以找到并将Toms设置文件上传到网络服务器。
步骤3.)现在,一旦文件在服务器上,用户就需要获取Jerry的 userID 和 characterID 。我执行与步骤1相同的操作。进行API调用并将返回的值显示给浏览器,以便用户知道值。
步骤4.)然后,用户可以将值插入表单并提交。提交后,这些值将附加到临时存储在服务器上的设置文件中,并生成下载链接。
步骤5.)用户将新设置文件下载到设置目录并完成。 Jerry现在拥有与Tom相同的设置文件。
编辑:我的询问是关于第2步和第5步。事情的PHP方面。如何编写这个简单的上传脚本。上传文件,将字符串传递给文件名替换第二个_之后和.dat之前的所有内容,然后生成下载链接? core_user_ “replacethisstring” .dat文件
答案 0 :(得分:0)
你的问题仍然相当广泛,但我很乐意提供一些指示。看来你需要一些帮助就是PHP代码。以下是我认为您需要的广泛步骤:
因此,Tom登录,并使用上传表单上传他的两个文件。它们存储在以用户ID命名的文件夹中,因此它们不会与其他任何人的文件混淆。一个叫做“core_user”,另一个叫做“core_char”(因为这里有更长的后缀)。
Jerry现在登录。他将自己的“userID”和“characterID”输入到下载表单中。他是否还需要指定他希望克隆Tom的文件,而不是Road Runner的?如果是这样,他就是在这个阶段做到的。然后该页面显示两个下载链接,每个文件一个。
当他点击每个时,它们是从目标用户动态生成的,并根据下载者自己的详细信息进行修改。这可以另外存储为该用户的文件,但在此阶段不需要。要执行此步骤,请使用file_get_contents
读取文件,使用字符串操作函数对其进行修改,然后将其回显到浏览器。如果使用适当的标题,它将显示为可下载文件,而不是文本文档。
可以说Jerry不需要在下载表单中指定他的userID和characterID,因为如果他已经登录,可以从他的个人资料中获取这些内容。
你会注意到我在这里没有提到API - 我不完全确定你的背景是什么,但它可能会在第一次切割中分散注意力。获得最简单的版本。
所以,这里的问题被打破了很多。如果你发现一个不可克服的子问题,那么它可能需要再次分解,直到每个东西都是PHP调用或HTML表单。