为了处理方便,我利用 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))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怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号