Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何让用户将文件上载到我的服务器,允许他们使用附加的字符串重新下载该文件_Php_Database_Api - Fatal编程技术网

Php 如何让用户将文件上载到我的服务器,允许他们使用附加的字符串重新下载该文件

Php 如何让用户将文件上载到我的服务器,允许他们使用附加的字符串重新下载该文件,php,database,api,Php,Database,Api,我正在为在线MMO PC游戏建立一个非常基础的网站(注:游戏有一个内置的API)。我需要的能力,允许用户上传一个“字符设置”文件,从他们的游戏设置目录在他们的PC到我的网络服务器。上传文件后,他们需要能够修改文件名,将其应用于服务器上的另一个字符,并重新下载文件 我有一个名叫汤姆的角色。每个字符都有两个与之关联的设置文件: 核心用户1234567.dat core_char_12345678.dat文件 我还有一个角色叫杰瑞。我想给他和汤姆一样的设置。为此,我想将Tom的设置文件上传到web

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

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

  • 核心用户1234567.dat
  • core_char_12345678.dat文件
我还有一个角色叫杰瑞。我想给他和汤姆一样的设置。为此,我想将Tom的设置文件上传到web服务器,将Jerry的
userID
characterID
值输入到表单中,然后重新下载附加了这些值的文件,同时从上传的文件名中删除旧值。这实际上是将
core\u user\uuuuu“This.dat”替换为
core\u user\uuuu“that.dat”

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

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

步骤2。)一旦用户知道哪两个设置文件属于Tom,用户就会找到并将Toms设置文件上传到Web服务器

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

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

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


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

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

  • 用于识别单个用户的登录/注销系统
  • 用于用户指定其用户和角色ID的配置文件页
  • 文件上传表(例如,针对Tom)
  • 一种下载表单(例如Jerry),其中指定了Jerry的userID和characterID
  • 修改上传文件的系统
因此,Tom登录并使用上载表单上载他的两个文件。它们存储在以他的用户ID命名的文件夹中,因此不会与其他任何人的文件混淆。一个称为“core_user”,另一个称为“core_char”(因为较长的后缀在这里是多余的)

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

当他点击每一个按钮时,目标用户会动态生成它们,并根据下载程序自己的详细信息进行修改。对于该用户,还可以将其存储为文件,但在此阶段不需要。要执行此步骤,请使用
file\u get\u contents
读取文件,使用字符串操纵功能修改文件,然后将其回显到浏览器。如果使用适当的标题,它将显示为可下载文件,而不是文本文档

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

你会注意到,我在这里没有提到API——我不完全确定这在你的上下文中是什么,但在第一节中它可能会分散你的注意力。首先让最简单的版本工作


因此,这里的问题被分解得更多。如果您发现一个子问题无法解决,那么它可能需要再次分解,直到每件事情都是PHP调用或HTML表单。

这都是相对简单的编程。你到底在做什么,你在做什么?你对如何做一个特定的步骤有疑问吗?听起来你设计得相当透彻。分解剩下的步骤,并按顺序进行处理。请记住,Stack Overflow与其他编程网站不同:这里的发布指南相当严格,以避免出现答案非常广泛或不明确的问题。是的。PHP部分。我知道这是一个非常简单的任务,或者至少我相信这是通过查看一些示例代码实现的。我对PHP不熟悉,但对新手不熟悉。试着找出如何实现步骤2和步骤5谢谢你的回答。信息非常丰富,能够使用您的解决方案执行任务。=)@用户2833068:很棒的东西,很高兴能帮上忙<代码>:)