2015-06-14 103 views
1

我想修改aprox的二进制文件服务器端。 700kb来改变它的网址,而不是保存它。PHP以十六进制地址替换二进制文件

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

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

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

例子:

somesite.com/api***

我想从例如VAR一些数字来代替***。

***之间是十六进制地址00010edb-00010edd

谢谢!

+0

是二进制固定位置的字符串? – umka

+0

是的。它的地址总是与用作替换模板的地址相同。我想要替换的是十六进制地址00010edb-00010edd – BioGenX

回答

0

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

$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"; 
} 
+0

谢谢!有用。对于您的解决方案,在PHP中,我应该将模板二进制文件复制到我想要示例site.com/api7的文件夹中,而不是为该文件运行脚本。是否可以在不更改原始文件的情况下将更改保存在其他文件中?再次感谢你。 – BioGenX

+0

更好的方法是复制文件并创建唯一的文件名。 – umka

+0

我真的很感谢你 – BioGenX

相关问题