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

PHP Replace binary file at hex address

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

我的第一个想法是用bin转十六进制,用preg_replace代替二进制的url。

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

有没有 better/faster 方法来做到这一点?

示例:

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";
}