1--TEST--
2iconv stream filter
3--SKIPIF--
4<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
5--INI--
6iconv.internal_charset=iso-8859-1
7--FILE--
8<?php
9$fp = fopen(dirname(__FILE__).'/iconv_stream_filter.txt', 'rb');
10var_dump(bin2hex(fread($fp, 10)));
11var_dump(bin2hex(fread($fp, 5)));
12var_dump(bin2hex(fread($fp, 1)));
13fclose($fp);
14
15$fp = fopen(dirname(__FILE__).'/iconv_stream_filter.txt', 'rb');
16stream_filter_append($fp, 'convert.iconv.ISO-2022-JP/EUC-JP');
17var_dump(bin2hex(fread($fp, 10)));
18var_dump(bin2hex(fread($fp, 5)));
19var_dump(bin2hex(fread($fp, 1)));
20fclose($fp);
21
22$fp = fopen(dirname(__FILE__).'/iconv_stream_filter.txt', 'rb');
23stream_filter_append($fp, 'convert.iconv.ISO-2022-JP.EUC-JP');
24var_dump(bin2hex(fread($fp, 10)));
25var_dump(bin2hex(fread($fp, 5)));
26var_dump(bin2hex(fread($fp, 1)));
27fclose($fp);
28
29$fp = fopen(dirname(__FILE__).'/iconv_stream_filter.txt', 'rb');
30stream_filter_append($fp, 'convert.iconv.ISO-2022-JP\0EUC-JP');
31var_dump(bin2hex(fread($fp, 10)));
32var_dump(bin2hex(fread($fp, 5)));
33var_dump(bin2hex(fread($fp, 1)));
34fclose($fp);
35?>
36--EXPECTF--
37string(20) "1b244224332473244b24"
38string(10) "41244f1b28"
39string(2) "42"
40string(20) "a4b3a4f3a4cba4c1a4cf"
41string(10) "69636f6e76"
42string(2) "0a"
43string(20) "a4b3a4f3a4cba4c1a4cf"
44string(10) "69636f6e76"
45string(2) "0a"
46
47Warning: stream_filter_append(): unable to create or locate filter "convert.iconv.ISO-2022-JP\0EUC-JP" in %siconv_stream_filter_delimiter.php on line %d
48string(20) "1b244224332473244b24"
49string(10) "41244f1b28"
50string(2) "42"
51