1--TEST-- 2parse_ini_file() multiple calls 3--FILE-- 4<?php 5 6$filename = __DIR__."/parse_ini_file.dat"; 7@unlink($filename); /* Make sure the file really does not exist! */ 8 9var_dump(parse_ini_file()); 10var_dump(parse_ini_file(1,1,1,1)); 11var_dump(parse_ini_file($filename)); 12var_dump(parse_ini_file($filename, true)); 13 14$ini = " 15test = 16"; 17file_put_contents($filename, $ini); 18var_dump(parse_ini_file($filename)); 19$ini = " 20test== 21"; 22file_put_contents($filename, $ini); 23var_dump(parse_ini_file($filename)); 24 25$ini = " 26test=test= 27"; 28file_put_contents($filename, $ini); 29var_dump(parse_ini_file($filename)); 30 31$ini = " 32test= \"new 33line\" 34"; 35file_put_contents($filename, $ini); 36var_dump(parse_ini_file($filename)); 37 38define("TEST_CONST", "test const value"); 39$ini = " 40test=TEST_CONST 41"; 42file_put_contents($filename, $ini); 43var_dump(parse_ini_file($filename)); 44 45$ini = " 46[section] 47test=hello 48"; 49file_put_contents($filename, $ini); 50var_dump(parse_ini_file($filename, true)); 51 52$ini = " 53[section] 54test=hello 55"; 56file_put_contents($filename, $ini); 57var_dump(parse_ini_file($filename, false)); 58 59$ini = " 60section.test=hello 61"; 62file_put_contents($filename, $ini); 63var_dump(parse_ini_file($filename, true)); 64 65$ini = " 66[section] 67section.test=hello 68"; 69file_put_contents($filename, $ini); 70var_dump(parse_ini_file($filename, true)); 71 72$ini = " 73[section] 741=2 75"; 76file_put_contents($filename, $ini); 77var_dump(parse_ini_file($filename, true)); 78 79$ini = " 801=2 81"; 82file_put_contents($filename, $ini); 83var_dump(parse_ini_file($filename, true)); 84$ini = " 85test=test2 86test=test3 87test=test4 88"; 89file_put_contents($filename, $ini); 90var_dump(parse_ini_file($filename, true)); 91 92/* From bug #44574 */ 93$ini = "[section1]\nname = value"; 94file_put_contents($filename, $ini); 95var_dump(parse_ini_file($filename, true)); 96 97/* #44842, labels starting with underscore */ 98$ini = <<<'INI' 99foo=bar1 100_foo=bar2 101foo_=bar3 102INI; 103file_put_contents($filename, $ini); 104var_dump(parse_ini_file($filename, true)); 105 106/* #44575, comments starting with '#' */ 107$ini = <<<'INI' 108foo=bar1 109; comment 110_foo=bar2 111; comment 112foo_=bar3 113INI; 114file_put_contents($filename, $ini); 115var_dump(parse_ini_file($filename, true)); 116 117 118@unlink($filename); 119echo "Done\n"; 120?> 121--EXPECTF-- 122Warning: parse_ini_file() expects at least 1 parameter, 0 given in %sparse_ini_file.php on line 6 123bool(false) 124 125Warning: parse_ini_file() expects at most 3 parameters, 4 given in %sparse_ini_file.php on line 7 126bool(false) 127 128Warning: parse_ini_file(%sparse_ini_file.dat): failed to open stream: No such file or directory in %sparse_ini_file.php on line 8 129bool(false) 130 131Warning: parse_ini_file(%sparse_ini_file.dat): failed to open stream: No such file or directory in %sparse_ini_file.php on line 9 132bool(false) 133array(1) { 134 ["test"]=> 135 string(0) "" 136} 137 138Warning: syntax error, unexpected '='%sparse_ini_file.dat on line 2 139 in %sparse_ini_file.php on line 20 140bool(false) 141 142Warning: syntax error, unexpected '='%sparse_ini_file.dat on line 2 143 in %sparse_ini_file.php on line 26 144bool(false) 145array(1) { 146 ["test"]=> 147 string(8) "new 148line" 149} 150array(1) { 151 ["test"]=> 152 string(16) "test const value" 153} 154array(1) { 155 ["section"]=> 156 array(1) { 157 ["test"]=> 158 string(5) "hello" 159 } 160} 161array(1) { 162 ["test"]=> 163 string(5) "hello" 164} 165array(1) { 166 ["section.test"]=> 167 string(5) "hello" 168} 169array(1) { 170 ["section"]=> 171 array(1) { 172 ["section.test"]=> 173 string(5) "hello" 174 } 175} 176array(1) { 177 ["section"]=> 178 array(1) { 179 [1]=> 180 string(1) "2" 181 } 182} 183array(1) { 184 [1]=> 185 string(1) "2" 186} 187array(1) { 188 ["test"]=> 189 string(5) "test4" 190} 191array(1) { 192 ["section1"]=> 193 array(1) { 194 ["name"]=> 195 string(5) "value" 196 } 197} 198array(3) { 199 ["foo"]=> 200 string(4) "bar1" 201 ["_foo"]=> 202 string(4) "bar2" 203 ["foo_"]=> 204 string(4) "bar3" 205} 206array(3) { 207 ["foo"]=> 208 string(4) "bar1" 209 ["_foo"]=> 210 string(4) "bar2" 211 ["foo_"]=> 212 string(4) "bar3" 213} 214Done 215