我目前尝试以 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 关注
- 144 浏览
添加回答
举报
0/150
提交
取消