php将文件内容读入数组,PHP 文件读入到数组

为了处理方便,我利用 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))

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

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中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值