php-src/ext/standard/tests/general_functions/parse_ini_file.phpt
Jani Taskinen f964370a35 - Added ".htaccess" style user-defined php.ini files support for
CGI/FastCGI.
- Added support for special [PATH=/opt/httpd/www.example.com/] sections
  in php.ini. All directives set in these sections will not be able to be
  overridden in user-defined ini-files or during runtime in the specified
  path.

- Improved php.ini handling:
  . Added better error reporting for syntax errors in php.ini files
  . Allowed "ini-variables" to be used almost everywhere ini php.ini files
  . Allowed using alphanumeric/variable indexes in "array" ini options
  . Fixed get_cfg_var() to be able to return "array" ini options

- Fixed bug #27372 (parse error loading browscap.ini at apache startup)
- Fixed bug #42069 (parse_ini_file() allows using some non-alpha numeric
  characters)

@DOC Pierre promised to handle the manual part of this :D
2007-09-28 02:04:28 +00:00

174 lines
3.0 KiB
PHP

--TEST--
parse_ini_file() multiple calls
--FILE--
<?php
$filename = dirname(__FILE__)."/parse_ini_file.dat";
@unlink($filename); /* Make sure the file really does not exist! */
var_dump(parse_ini_file());
var_dump(parse_ini_file(1,1,1,1));
var_dump(parse_ini_file($filename));
var_dump(parse_ini_file($filename, true));
$ini = "
test =
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename));
$ini = "
test==
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename));
$ini = "
test=test=
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename));
$ini = "
test= \"new
line\"
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename));
define("TEST_CONST", "test const value");
$ini = "
test=TEST_CONST
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename));
$ini = "
[section]
test=hello
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename, true));
$ini = "
[section]
test=hello
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename, false));
$ini = "
section.test=hello
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename, true));
$ini = "
[section]
section.test=hello
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename, true));
$ini = "
[section]
1=2
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename, true));
$ini = "
1=2
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename, true));
$ini = "
test=test2
test=test3
test=test4
";
file_put_contents($filename, $ini);
var_dump(parse_ini_file($filename, true));
@unlink($filename);
echo "Done\n";
?>
--EXPECTF--
Warning: parse_ini_file() expects at least 1 parameter, 0 given in %sparse_ini_file.php on line 6
bool(false)
Warning: parse_ini_file() expects at most 3 parameters, 4 given in %sparse_ini_file.php on line 7
bool(false)
Warning: parse_ini_file(%sparse_ini_file.dat): failed to open stream: No such file or directory in %sparse_ini_file.php on line 8
array(0) {
}
Warning: parse_ini_file(%sparse_ini_file.dat): failed to open stream: No such file or directory in %sparse_ini_file.php on line 9
array(0) {
}
array(1) {
["test"]=>
string(0) ""
}
Warning: syntax error, unexpected '=' in %sparse_ini_file.dat on line 2
in %sparse_ini_file.php on line 20
array(1) {
["test"]=>
string(0) ""
}
Warning: syntax error, unexpected '=' in %sparse_ini_file.dat on line 2
in %sparse_ini_file.php on line 26
array(1) {
["test"]=>
string(4) "test"
}
array(1) {
["test"]=>
string(8) "new
line"
}
array(1) {
["test"]=>
string(16) "test const value"
}
array(1) {
["section"]=>
array(1) {
["test"]=>
string(5) "hello"
}
}
array(1) {
["test"]=>
string(5) "hello"
}
array(1) {
["section.test"]=>
string(5) "hello"
}
array(1) {
["section"]=>
array(1) {
["section.test"]=>
string(5) "hello"
}
}
array(1) {
["section"]=>
array(1) {
[1]=>
string(1) "2"
}
}
array(1) {
[1]=>
string(1) "2"
}
array(1) {
["test"]=>
string(5) "test4"
}
Done