fgets

fgets 函數

(PHP 4, PHP 5, PHP 7, PHP 8)
fgets — 從文件指針中讀取一行

fgets(resource $stream, ?int $length = null): string|false

範例  逐行讀取文件

参数

stream
文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。

length
从 handle 指向的文件中读取一行并返回长度最多为 length – 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length – 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。

<?php
$fp = @fopen("/tmp/inputfile.txt", "r");
if ($fp) {
    while (($buffer = fgets($fp, 4096)) !== false) {
        echo $buffer;
    }
    if (!feof($fp)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($fp);
}
?>

fopen

fopen  函數

(PHP 4, PHP 5, PHP 7, PHP 8)
fopen — 打開文件或者 URL

fopen(
    string $filename,
    string $mode,
    bool $use_include_path = false,
    ?resource $context = null
): resource|false

mode

mode 參数指定了所讀取的類型。可以是以下:
fopen() 中 mode 的可能值列表
mode 說明
‘r’ 只讀方式打開,將文件指向文件頭。
‘r+’ 讀寫方式打開,將文件指向文件頭。
‘w’ 寫入方式打開,將文件指向文件頭並将文件大小截为零。如果文件不存在則創建它。
‘w+’ 讀寫方式打開,否則視為同 ‘w’。

<?php
$handle = fopen("c:\\folder\\resource.txt", "r");
?>

preg_match函數

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_match — 执行匹配正则表达式

preg_match(
string $pattern,
string $subject,
array &$matches = null,
int $flags = 0,
int $offset = 0
)
搜索subject与pattern定的正则表达式的一个匹配

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

以上示例会输出:

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )

)

array_push函數

(PHP 4, PHP 5, PHP 7, PHP 8)

array_push — 將一個或多個單元押入數值的末尾

array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。和如下效果相同:
<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>

以上示例会输出:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
    [3] => raspberry
)