使用php空文件名的多人游戏?

问题描述 投票:0回答:1

Haii

所以我想在php上制作多人游戏,所以我采用了随机生成的链接方法。

例如,例如skribbl.io游戏,它将在按下“创建私人房间”时,为您的朋友创建一个随机链接以加入您的游戏:

skribbl.io/?random_string
like skribbl.io/?h4fwY8Ef

因此,对于我来说,似乎他们有一个没有名称的PHP文件,他们为此提供了随机字符串作为参数。但是我无法制作一个没有名字的php文件。

因此,我选择的是,每当用户单击我的游戏的“创建私人比赛”,一个php脚本就会复制一个包含服务器端工作的现有php脚本,但将其命名为random_string.php,例如y4aHr329sJ.php因此玩家可以在网址中输入:mygame.com/y4aHr329sJ(由于有.htaccess规则,因此没有.php)

但是缺点是对于每个想要“创建私人房间”的人,我都会在服务器上复制更多不必要的文件。

即使我有一个脚本,该脚本也会在游戏过期后删除所有过期的random_string.php文件(在每天运行脚本的第一天,并删除1天前的文件)

我仍然认为这适得其反。

顺便说一句,我知道我会做mygame.com/join?random_string之类的事情,但我不是特别喜欢。

而且我也不喜欢apache .htaccess,因为有些玩家喜欢从地址栏中而不是从“共享此链接”框中复制链接,所以自动将mygame.com/random_string转换为mygame.com/join?random_string

另外,如果有没有在skribbl.io/*?*random_string中使用skribbl.io的问号的解决方案,我会更喜欢。

您的帮助意味着很多。预先感谢!

php multiplayer real-time-multiplayer
1个回答
0
投票

实际上,您在根文件夹中有一个index.php文件,但是可以将apache配置为从URL隐藏它。

您可以通过将这些配置(在项目根目录或虚拟主机配置中的.htaccess中放置)来完成此操作

并且您需要启用mod_rewrite

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
© www.soinside.com 2019 - 2024. All rights reserved.