我目前嘗試以 hex 格式回顯 DLL 文件的原始字節,解包函數溢出了可變內存限制(我的托管服務 atm 無法設置),是否有任何方法可以將其按部分讀取為 3 個或更多變量,或者輸出字節并回顯這些的其他方法?文件大小約為 1,98MB(1.990.656 BYTES)(是的,我知道 php 中的緩沖區要大得多)。發生以下錯誤:致命錯誤:允許的內存大小為 67108864 字節已用完(嘗試分配 67108872 字節)謝謝你的幫助。ini_set('memory_limit', '-1');$fileName= "driver.dll"; $fsize = filesize($fileName); $hex = unpack("C*", file_get_contents($fileName));$hexa_string= "";foreach($hex as $v) { $hexa_string.= sprintf("%02X", $v);}echo $hexa_string;
1 回答

繁星淼淼
TA貢獻1775條經驗 獲得超11個贊
您必須使用 c 包裝器進行文件操作:fseek
$size = 1024 * 1000;
$handle = fopen($file, 'r');
fseek($handle, -$size);
$limitedContent = fread($handle, $size);
- 1 回答
- 0 關注
- 166 瀏覽
添加回答
舉報
0/150
提交
取消