1--TEST-- 2Crypto\Base64::decodeUpdate basic usage. 3--FILE-- 4<?php 5 6$data_encoded = <<<EOI 7YWJjZGVmZ2hpamtsbW5vcHFyc3R1disqKl4lJGFiY2RlZmdoaWprbG1ub3BxcnN0 8dXYrKipeJSRhYmNkZWZnaGlqa2xtbm9wcXJzdHV2KyoqXiUkYWJjZGVmZ2hpamts 9bW5vcHFyc3R1disqKl4lJGFiY2RlZmdoaWprbG1ub3BxcnN0dXYrKipeJSRhYmNk 10ZWZnaGlqa2xtbm9wcXJzdHV2KyoqXiUk 11EOI; 12 13$data_chunks = str_split($data_encoded, 20); 14 15// try state exception 16$b64 = new Crypto\Base64; 17$b64->encodeUpdate("abc"); 18try { 19 $b64->decodeUpdate($data_encoded); 20} 21catch (Crypto\Base64Exception $e) { 22 if ($e->getCode() == Crypto\Base64Exception::DECODE_UPDATE_FORBIDDEN) { 23 echo "DECODE UPDATE STATUS EXCEPTION\n"; 24 } 25} 26 27$b64 = new Crypto\Base64; 28echo $b64->decodeUpdate($data_encoded) . "\n"; 29 30$b64 = new Crypto\Base64; 31$data = ''; 32foreach ($data_chunks as $data_chunk) { 33 $data .= $b64->decodeUpdate($data_chunk); 34} 35echo "$data\n"; 36 37?> 38--EXPECT-- 39DECODE UPDATE STATUS EXCEPTION 40abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$ 41abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$abcdefghijklmnopqrstuv+**^%$ 42