试图找到合适的术语来描述这一点(在StackExchange和Google上搜索):不能相信这样的东西不存在。
个人用户通过键入其个人ID码(固定长度),通过网络浏览器登录(最小)网站。然后提示他们下载一个文件,该文件由服务器从服务器上的目录中保存的集合中随机选择。用户的ID和分配文件的名称存储在服务器上(理想情况下是平面文件和人类可读的),如果用户使用相同的ID多次登录,则会获得完全相同的文件。应该可以预先填充ID列表,也可以在用户首次登录时动态创建。
不,这不是编程任务。我在另一边 - 老师需要向学生分发包含问题的文件,确保每个学生获得不同的文件。在PHP,Node.JS或Python Web框架中必须有一个很好的简短方法,可以将其冻结(理想情况下)到一个可移植的Windows .EXE(即服务器和应用程序一起)。
欢迎提出建议(包括可能让我更接近解决方案的搜索字词)!
答案 0 :(得分:1)
获得确定性随机性的一种简单方法是通过user_id
为随机数生成器播种。
$user_id = 25;
$assignment_id = 4;
$nr_of_different_files = 5;
srand($user_id + $assignment_id * 1000);
$file_index = rand(0, $nr_of_different_files);
这样您就不需要存储谁获取哪个文件。请记住,如果任何参数发生变化,随机结果也会发生变化。
至于:
必须有[...]方法来执行此操作[...],可以将其冻结(理想情况下)到单个可移植Windows .EXE(即服务器和应用程序)中。
这部分太广泛了,不能在这里回答。同时,PHP,Python和JavaScript都是解释型语言。它们永远不会编译成可执行文件。你可能会,但你已经远离人迹罕至。