gpt4 book ai didi

PHP - 损坏的变量内容

转载 作者:搜寻专家 更新时间:2023-10-31 22:09:09 24 4
gpt4 key购买 nike

作为题主,我对一个变量的内容有疑问。在此变量中插入一个文件的 base64(从 xml 中提取)和 PHP base64 以将文件保存在文件系统中。只要有小文件(大约 10MB),一切都很好......但是 base64 文件大于 base64 似乎在 9999993 个字符后“损坏”。我说似乎是因为如果我转到调试显示变量的值,我会看到所有 base64 字符串。

问题不在于保存文件,因为文件已正确创建和保存,而在于变量的内容。 php.ini 是否有任何限制?或者有什么方法可以解决这个问题?我也尝试将字符串分成 block 或数组,但问题仍然存在。

我把我用来从 XML 中提取数据的代码放在:

    $reader = new XMLReader(); 

if (!$reader->open($GLOBALS['conf']['filepath'] . '/' . $xmlfile)) {
print "Error to open XML: $xmlfile\n";
} else {
while ($reader->read()) {
$name = $reader->name;
$type = $reader->nodeType;
if (($type == XMLReader::ELEMENT) && in_array($name, $allowedNodes)) {
$xml = $reader->readOuterXml();

$doc = new DOMDocument('1.0', 'UTF-8');
$xml = simplexml_import_dom($doc->importNode($reader->expand(), true));

//Other code
}
}
}

注意:变量 $allowedNodes 是保存在配置文件中的变量,因此您看不到它的值。

感谢您的回答

最佳答案

你试过用 gzcompress 代替 base64 吗?

我前段时间遇到过类似的问题,用了效果不错。我做了一个小的基准测试,内存不是一个大问题。

关于PHP - 损坏的变量内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14599856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com