php文件相关函数

Mysqli 数据连接

Php 文件函数

点击跳转

parse_ini_file

说明

parse_ini_file ( string $filename , bool $process_sections = false , int $scanner_mode = INI_SCANNER_NORMAL ) : array

参数

参数 必需的 描述
filename 要解析的 ini 文件的文件名。
process_sections 如果将最后的 process_sections 参数设为 TRUE,将得到一个多维数组,包括了配置文件中每一节的名称和设置。process_sections 的默认值是 FALSE。
scanner_mode 可以是 INI_SCANNER_NORMAL(默认)或 INI_SCANNER_RAW。 如果提供了 INI_SCANNER_RAW ,则不会解析选项值。

scanner_mode 未实践

说明:

The parse_ini_file function does have trouble loading valid Windows ini files like, for example, nternet shortcuts (.url files).

This is due to the function reading the URLs as a value, and failing when it finds that valid URL characters like ‘=‘ appear unescaped or the value unquoted as a whole. Since Windows does not escape them anyway, the solution is to scan it in raw mode, where it will read unparsed the value after the first ‘=‘. Since = only appears in URLs with parameters, this mistake may is not be obvious at a first glance.

An example

parse_ini_file函数在加载有效的Windows ini文件时确实有问题,例如,网络快捷方式(。url文件)。

这是由于函数将URL作为一个值读取,当它发现像‘=‘这样的有效URL字符出现未转义或未引用的值作为一个整体时失败。因为Windows无论如何都不会转义它们,所以解决方案是在原始模式下扫描它,它将在第一个‘=‘后读取未解析的值。Since =只出现在url中这个错误乍一看可能并不明显。
下面是一个例子:
<?php

$links = array();

// ...

$files = scandir($directory);
foreach( $files as $filename )
{
    if (strToLower(pathinfo($filename, PATHINFO_EXTENSION)) === ‘url‘)
    {
        $shortcut = parse_ini_file( $directory.DIRECTORY_SEPARATOR.$filename, true,  INI_SCANNER_RAW);
        if ($shortcut === false) die(‘Syntax Error‘);
        $url = $shortcut[‘InternetShortcut‘][‘URL‘];
        $links []= $url;
    }
}

?>

返回值

例子:

#文件路径  sample.env

[first_section]
one = 1
five = 5
animal = BIRD

[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"

[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

[session_test]
session[‘name‘]=1
session[‘id‘]=2
#php文件
//当前输出解析数据并且忽略【first_section】同等级的属性 
//参数key=value    key可以加【】为一个数组最多可加已成为二维数组。    value所有都为string 
$param=parse_ini_file(‘sample.env‘); 
var_dump($param);
-------------------------------------------------------------------------------
//添加true 不忽略【first_section】同等级属性变成多为数组, 
$param=parse_ini_file(‘sample.env‘,true);
var_dump($param);
-------------------------------------------------------------------------------
//  
  

#输出结果
#例1 
array (size=7)
  ‘one‘ => string ‘1‘ (length=1)
  ‘five‘ => string ‘5‘ (length=1)
  ‘animal‘ => string ‘BIRD‘ (length=4)
  ‘path‘ => string ‘/usr/local/bin‘ (length=14)
  ‘URL‘ => string ‘http://www.example.com/~username‘ (length=32)
  ‘phpversion‘ => 
    array (size=4)
      0 => string ‘5.0‘ (length=3)
      1 => string ‘5.1‘ (length=3)
      2 => string ‘5.2‘ (length=3)
      3 => string ‘5.3‘ (length=3)
  ‘session‘ => 
    array (size=2)
      ‘name‘ => string ‘1‘ (length=1)
      ‘id‘ => string ‘2‘ (length=1)
    -------------------------------------------------------------------------------
  #例2 
  array (size=4)
  ‘first_section‘ => 
    array (size=3)
      ‘one‘ => string ‘1‘ (length=1)
      ‘five‘ => string ‘5‘ (length=1)
      ‘animal‘ => string ‘BIRD‘ (length=4)
  ‘second_section‘ => 
    array (size=2)
      ‘path‘ => string ‘/usr/local/bin‘ (length=14)
      ‘URL‘ => string ‘http://www.example.com/~username‘ (length=32)
  ‘third_section‘ => 
    array (size=1)
      ‘phpversion‘ => 
        array (size=4)
          0 => string ‘5.0‘ (length=3)
          1 => string ‘5.1‘ (length=3)
          2 => string ‘5.2‘ (length=3)
          3 => string ‘5.3‘ (length=3)
  ‘session_test‘ => 
    array (size=1)
      ‘session‘ => 
        array (size=2)
          ‘name‘ => string ‘2‘ (length=1)
          ‘id‘ => string ‘2‘ (length=1)
  
    -------------------------------------------------------------------------------
  

注意: 本函数和 php.ini 文件没有关系,该文件在运行脚本时就已经处理过了。本函数可以用来读取你自己的应用程序的配置文件。

注意: 如果 ini 文件中的值包含任何非字母数字的字符,需要将其括在双引号中(")。

注意: 有些保留字不能作为 ini 文件中的键名,包括:null,yes,no,true 和 false。值为 null,no 和 false 等效于 "",值为 yes 和 true 等效于 "1"。字符 {}|&~![()" 也不能用在键名的任何地方,而且这些字符在选项值中有着特殊的意义。

php 类与对象

关键字:

? Final :PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承

?

php文件相关函数

上一篇:搭建http服务器


下一篇:虚拟机上安装docker及运行多个相同的.netcore网站