为了账号安全,请及时绑定邮箱和手机立即绑定

PHP解包溢出变量内存限制

PHP解包溢出变量内存限制

PHP
慕容3067478 2021-11-26 17:42:51
我目前尝试以 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);


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信