我有一些基本的原始base64编码电子邮件,我想解码并转换为PDF格式。我遇到的问题是$str
变量。这行代码是我所有电子邮件中的前76个字符,但我无法将其作为扫描/收集/收集其余加密代码的起始基础。
所以基本上$ str是起点,但是后来有1000多个base64加密编码行,我想说,如果你发现了这个,那么就开始拉动所有代码的REST。我查看了strpos和substr,但它们使用直接数值。是否可以使用字符作为起始位置?
总结一下:我基本上想说如果你在文档中找到$ str,那么从你找到它的地方开始复制剩下的代码。
$str = "JVBERi0xLjcKJeTjz9IKNCAwIG9iago8PC9MZW5ndGggMyAwIFIvRmlsdGVy";
$pdf_base64 = "base64pdf.txt";
//Get File content from txt file
$pdf_base64_handler = fopen($pdf_base64,'r');
$pdf_content = fread ($pdf_base64_handler,filesize($pdf_base64));
if (strpos($pdf_content, $str) !== false) {
echo 'true';
}
fclose ($pdf_base64_handler);
//Decode pdf content
$pdf_decoded = base64_decode ($pdf_content);
//Write data back to pdf file
$pdf = fopen ('test.pdf','w');
fwrite ($pdf, $pdf_decoded);
//close output file
fclose ($pdf);
echo 'Done';
答案 0 :(得分:2)
以下内容将返回$str
$pdf_content
后的所有内容,包括$str
。
if (strpos($pdf_content, $str) !== false) {
$foundContent = substr($pdf_content, strpos($pdf_content, $str));
}
strpos
将返回大海捞针($str
)内针头($pdf_content
)的数值,然后可以在substr
中拉出