Ниже приводится пошаговое решение с пояснениями для каждой строки.
ПРИМЕЧАНИЕ: server.cfg должен быть доступен для записи PHP. Обязательно установите разрешения так, чтобы PHP мог сначала записать в этот файл. В противном случае вы получите сообщение об ошибке «Не удалось открыть поток: в доступе отказано».
// Define the path to the file here
$myFile = '/path/to/server.cfg';
// Define the new port number here
$newPort = '12345';
$newGameMode = 'cool';
$newMaxPlayers = 120;
// Load the file
$contents = file_get_contents($myFile);
// Modify the contents
$contents = preg_replace('/(ports) (\d+)/', '$1 '.$newPort, $contents);
$contents = preg_replace('/(gamemode) ([a-z]+)/', '$1 '.$newGameMode, $contents);
$contents = preg_replace('/(maxplayers) (\d+)/', '$1 '.$newMaxPlayers, $contents);
// Overwrite the file with the new contents
file_put_contents($myFile, $contents);