php教程

file_get_contents读取TXT指定数据方法

我的站长站 2025-02-20 人阅读

file_get_contents()读取整个文件方法

如果文件不是特别大,你可以简单地使用file_get_contents()读取整个文件内容,然后使用字符串函数(如substr(), strpos(), strstr(), explode()等)来提取或处理特定数据。

$content = file_get_contents('path/to/your/file.txt');
// 例如,提取从第10个字符开始的10个字符
$data = substr($content, 9, 10);
 
// 或者使用 strpos 和 substr 查找特定文本
$start = strpos($content, '特定文本');
if ($start !== false) {
    $data = substr($content, $start, 10);
}

file()或fgets()逐行读取

如果你需要处理大文件或只想读取文件的特定部分,可以使用file()函数逐行读取,或者使用fopen()和fgets()逐行读取。

// 使用 file() 函数读取文件的所有行到一个数组中
$lines = file('path/to/your/file.txt');
foreach ($lines as $line) {
    // 处理每一行
    if (strpos($line, '特定文本') !== false) {
        // 找到包含特定文本的行
        echo $line;
    }
}
 
// 或者使用 fopen() 和 fgets()
$handle = fopen('path/to/your/file.txt', 'r');
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        if (strpos($line, '特定文本') !== false) {
            // 找到包含特定文本的行
            echo $line;
        }
    }
    fclose($handle);
}

fopen()和fread()部分读取

如果你知道需要读取文件的一部分,可以先使用fopen()打开文件,然后使用fseek()定位到文件中的特定位置,最后使用fread()读取数据。

$handle = fopen('path/to/your/file.txt', 'rb'); // 'rb' 表示以二进制读取模式打开文件
if ($handle) {
    fseek($handle, 10); // 移动到文件的第11个字节(因为偏移量从0开始)
    $data = fread($handle, 10); // 读取接下来的10个字节
    fclose($handle);
}

fopen()和stream_get_contents()读取指定长度的内容

另一种方式是使用stream_get_contents()函数,这在你知道要读取的确切长度时非常有用。

$handle = fopen('path/to/your/file.txt', 'rb'); // 以二进制模式打开文件
if ($handle) {
    fseek($handle, 10); // 移动到文件的第11个字节(因为偏移量从0开始)
    $data = stream_get_contents($handle, 10); // 读取接下来的10个字节
    fclose($handle);
}


相关推荐
  • file_get_contents
  • file_get_contents读取TXT指定数据方法

    file_get_contents()读取整个文件方法如果文件不是特别大,你可以简单地使用file_get_contents()读取整个文件内容,然后使用字符串函数(如substr(), strpos(), strstr(), explode()等)来提取或处理特定数据。$content = file_get_contents('path/to/y...

    php教程 0 1分钟前
最新更新