返回

新闻详情

PHP怎么获取txt文件内容并转换为数组


来源:郑州达内IT培训学校时间:2022/12/20 11:17:43

在PHP项目开发过程中,有时为了方便数据管理和分析可能会需要实现将文件内容转换为数组的情况。本文就带大家了解一下php怎么获取txt文件内容并转换为数组?

实际上就是 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件。

“取mysql数据步骤忽略”

(1)利用serialize将数组序列化存储为文本文件,调用时候再使用unserialize还原

$file='文件路径';

$array=array('s'=> array('aaa','bbb','ccc'),'d'=> array('111','222','222'));

if(false!==fopen($file,'w+')){

file_put_contents($file,serialize($array));

}

$handle=fopen($file,'r');

$cacheArray=unserialize(fread($handle,filesize($file)));

(2)利用var_export将数组直接保存为数组形式存储到文本文件中(推荐使用)

$file='文件路径';

$array=array('s'=> array('aaa','bbb','ccc'),'d'=> array('111','222','222'));

$text='

if(false!==fopen($file,'w+')){

file_put_contents($file,$text);

}else{

echo '创建失败';

}

(3)自创的将数组保存为标准的数组格式,虽然保存时复杂了点但是调用时简单

$file='文件路径';

$array=array('s'=> array('aaa','bbb','ccc'),'d'=> array('111','222','222'));

cache_write($file,$array,'rows',false);

//写入

function cache_write($filename,$values,$var='rows',$format=false){

$cachefile=$filename;

$cachetext="

return writefile($cachefile,$cachetext);

}

//数组转换成字串

function arrayeval($array,$format=false,$level=0){

$space=$line='';

if(!$format){

for($i=0;$i<=$level;$i++){

$space.="\t";

}

$line="\n";

}

$evaluate='Array'.$line.$space.'('.$line;

$comma=$space;

foreach($array as $key=> $val){

$key=is_string($key)?'\''.addcslashes($key,'\'\\').'\'':$key;

$val=!is_array($val)&&(!preg_match('/^\-?\d+$/',$val)||strlen($val) > 12)?'\''.addcslashes($val,'\'\\').'\'':$val;

if(is_array($val)){

$evaluate.=$comma.$key.'=>'.arrayeval($val,$format,$level+1);

}else{

$evaluate.=$comma.$key.'=>'.$val;

}

$comma=','.$line.$space;

}

$evaluate.=$line.$space.')';

return $evaluate;

}

//写入文件

function writefile($filename,$writetext,$openmod='w'){

if(false!==$fp=fopen($filename,$openmod)){

flock($fp,2);

fwrite($fp,$writetext);

fclose($fp);

return true;

}else{

return false;

} }

上一篇:互联网营销误区有哪些

下一篇:java虚拟机的应用

  咨询老师  拨打电话  网上报名