PHP 替换十六进制地址处的二进制文件


PHP Replace binary file at hex address

我想修改aprox的二进制文件服务器端。 700kb 更改其中的 URL 而不是保存它。

我的第一个想法是使用 bin 到十六进制和 preg_replace 来替换二进制中的 url。

二进制 url 的地址总是相同的,但我每次调用我的函数时都需要更改它。

有没有更好/更快的方法来做到这一点?

例:

somesite.com/api***

例如,我想用 var 中的一些数字替换 ***。

介于十六进制地址 00010edb-00010edd 之间

谢谢!

如果字符串在固定位置,可以直接写入数据:

$position=hexdec("00010edb"); // You have to pre-calculate it once
$data="some data"; // Replacement
if ($f=fopen("your_file", "r+")) {
    fseek($f, $position);
    fwrite($f, $data);
    fclose($f);
} else {
    echo "Can't open file";
}