[英]How to catch str_get_html (Simple HTML Dom) error if fails to retrieve when larger than MAX_FILE_SIZE
我的脚本的一部分从 AWS SES S2 存储桶检索电子邮件时遇到问题,当获取 email 的正文时,它会查找 Base64 内联图像并将其转换为图像文件,然后我将该图像上传到 S3 存储桶并然后将图像的src
更改为 URL。
问题是有时 email 将包含一个内联图像和/或大于我的simple_html_dom.php
文件中的MAX_FILE_SIZE
的文件。 当然,我可以只增加大小,但最终我必须限制我愿意解析的 email 的大小。
我一直在尝试try
并catch
它似乎不起作用。 我也试过做
$message = str_get_html($body);
if ($message) {
// process email
} else {
// Email to big skip images.
}
但这甚至没有机会检查错误,因为脚本将在$message = str_get_html($body);
处中断
有没有一种方法可以在str_get_html()
上捕获错误?
我做了什么
为了解决这个问题,我做了以下工作
$size = mb_strlen($body_of_email, '8bit');
if ($size < 25000000) {
$message = str_get_html($string);
}
$message
存储在 MySQL 表中,这就是我检索它的方式。
我唯一担心的是,我不确定在 MySQL 的$message
上使用mb_strlen
是否可能发生false positive
,以及在使用str_get_html($message)
获取字符串后使用mb_strlenm
获得不同大小的可能性,这很简单 HTML大教堂。 我已经测试了两种方法,它们确实产生了相同的数字。
对于可能出现的潜在问题,我有什么需要注意的吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.