0

我正在制作名人堂之类的东西——我的 Minecraft 服务器上最富有的 100 名玩家。该服务器正在使用经济插件,它将金钱(和其他)数据存储在文件中......一个玩家=一个文件。

这个文件看起来像这样:

socialspy: false
lastlocation:
  world: Survival
  x: 156.36720714234835
  y: 82.0
  z: 11.384548164747013
  yaw: 296.55
  pitch: 1.7999992
timestamps:
  login: 1380986935777
  lastteleport: 1380987528677
  logout: 1380987865394
  kits:
    zaklad: 1380888323725
ipAddress: 178.41.105.216
money: '103954.67357957785035400'
homes:
  home:
    world: plotworld
    x: 59.78763477381829
    y: 67.0
    z: 23.01163962746715
    yaw: -36.45163
    pitch: 15.150063
logoutlocation:
  world: plotworld
  x: 32.7432724160324
  y: 65.5
  z: 36.79093180216559
  yaw: -105.751495
  pitch: 4.6499953

但它会改变每个玩家的玩家......可能会丢失一些信息(货币价值太!所以每个文件中都没有货币行)

好吧,我的服务器上有数百个这样的文件,我只想阅读它们并获得金钱:'amount'值,然后将其存储在 MySQL 中并在 60 分钟后再次读取文件......(所以这个名人堂将每小时重新加载一次)。

有一个问题:它太慢了,由于内存和时间限制,它无法完成......我在 web 端运行这个脚本......服务器位于远程服务器上,我正在通过ftp://user:pass@host”访问它

我已经尝试过 fgets 和 file_get_content,但是有很多文件,我正在寻找一种更快、更有效的方法,如何做到这一点。

4

0 回答 0