我正在制作名人堂之类的东西——我的 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,但是有很多文件,我正在寻找一种更快、更有效的方法,如何做到这一点。