PHP 文件读入到数组

php中文网
发布: 2016-08-08 09:23:53
原创
1624人浏览过

为了处理方便,我利用 fgets() 定义了一个函数,可将文件内容读入到一个数组,文件第 i 行对应数组第 i 个元素(index 是 i-1)。下面是源代码

function file2array($filename){    
    // read a file into an array
    // each element of the array is a line of file
    // also use explode("\r\n", file_get_contents($filename))
    $f = fopen($filename,"r") or die("Unable to open the file '" . $filename . "'!");
    $array=array();
    while(!feof($f)) {
  array_push($array, str_replace("\r\n","",fgets($f)));
}
fclose($f);
return $array;
}
登录后复制

我用
str_replace("\r\n","",fgets($f))
登录后复制
的原因是,fgets 会把换行符也读入进来,可以用 count() 检验字符串的长度,会发现读入的每一行都文件中对应的行多了两个字符。等价的程序是

explode("\r\n", file_get_contents($filename))
登录后复制

用下面的代码可以将数组还原为(写入)文件。

小绿鲸英文文献阅读器
小绿鲸英文文献阅读器

英文文献阅读器,专注提高SCI阅读效率

小绿鲸英文文献阅读器 199
查看详情 小绿鲸英文文献阅读器

function array2file($array, $filename, $mode="w"){
    // write an array (1-dim) in a file
    $f = fopen($filename, $mode) or die("Unable to open the file '" . $filename . "'!");
    // $f = savefopen($filename, $mode);
    if (! empty($array)) {
        $first=array_shift($array);
        fwrite($f, $first);
        foreach ($array as $line) {
            fwrite($f, "\r\n" . $line);
        }
    }
    fclose($f);
}
登录后复制

我还写了一些简单有用的文件操作函数,供大家使用。

function file2str($filename){    
    // read a file into a string
    $f = fopen($filename,"r");
    $str="";
    while(!feof($f)) {
  $str .= fgets($f);
}
fclose($f);
return $str;
}


function fpush($filename, $arr){
    $f=fopen($filename, "a");
    foreach ($arr as $str) {
        fwrite($f, NL . $str);   // NL == "\r\n"
    }
    fclose($f);
}


function fnl($filename){
    // add a new line "\r\n" in the file
    $f=fopen($filename, "a");
    fwrite($f, NL);  
    fclose($f);
}


function fclear($filename){
    // clear a file
    file_put_contents($filename, "");
}


function fempty($filename){
    // is the file empty or not?
    $f = fopen($filename,"r");
    fgetc($f);
    if (feof($f)) {
        return True;}
    else {
        return False;}
    fclose($f);
}
登录后复制

以上就介绍了PHP 文件读入到数组,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号