2015-06-14 101 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

相關問題