本文实例讲述了php实现读取和写入tab分割的文件。分享给大家供大家参考。具体分析如下:

这段php代码实现读取和写入tab分割的文件,包含两个独立的函数,一个读,一个写,例如cvs文件等

//

// save an array as tab seperated text file

//

function write_tabbed_file($filepath, $array, $save_keys=false){

$content = '';

reset($array);

while(list($key, $val) = each($array)){

// replace tabs in keys and values to [space]

$key = str_replace("\t", " ", $key);

$val = str_replace("\t", " ", $val);

if ($save_keys){ $content .= $key."\t"; }

// create line:

$content .= (is_array($val)) ? implode("\t", $val) : $val;

$content .= "\n";

}

if (file_exists($filepath) && !is_writeable($filepath)){

return false;

}

if ($fp = fopen($filepath, 'w+')){

fwrite($fp, $content);

fclose($fp);

}

else { return false; }

return true;

}

//

// load a tab seperated text file as array

//

function load_tabbed_file($filepath, $load_keys=false){

$array = array();

if (!file_exists($filepath)){ return $array; }

$content = file($filepath);

for ($x=0; $x < count($content); $x++){

if (trim($content[$x]) != ''){

$line = explode("\t", trim($content[$x]));

if ($load_keys){

$key = array_shift($line);

$array[$key] = $line;

}

else { $array[] = $line; }

}

}

return $array;

}

/*

** Example usage:

*/

$array = array(

'line1' => array('data-1-1', 'data-1-2', 'data-1-3'),

'line2' => array('data-2-1', 'data-2-2', 'data-2-3'),

'line3' => array('data-3-1', 'data-3-2', 'data-3-3'),

'line4' => 'foobar',

'line5' => 'hello world'

);

// save the array to the data.txt file:

write_tabbed_file('data.txt', $array, true);

/* the data.txt content looks like this:

line1 data-1-1 data-1-2 data-1-3

line2 data-2-1 data-2-2 data-2-3

line3 data-3-1 data-3-2 data-3-3

line4 foobar

line5 hello world

*/

// load the saved array:

$reloaded_array = load_tabbed_file('data.txt',true);

print_r($reloaded_array);

// returns the array from above

希望本文所述对大家的php程序设计有所帮助。

php 输出tab_php实现读取和写入tab分割的文件相关推荐

  1. 读取和写入Windows的INI文件

    代码如下: Sub WriteINIStringVirtual(Section, KeyName, value, FileName)     WriteINIString Section, KeyNa ...

  2. python对txt文本文件边读边写,同时读取和写入的方式修改文件

    看到很多人在修改文本文件的时候是先打开一个文本文件并读取,然后关闭该文本文件. 接着再打开一个文本文件用于写入. 但有时候只是想修改文件里面的一些字符,用上面的方法难免感觉有些麻烦. 下面介绍如何一次 ...

  3. Java读取、写入、处理Excel文件中的数据

    在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Excel会有 ...

  4. python3从零学习-5.11.2、 aifc - 读取和写入AIFF和aifc文件

    源代码:Lib / aifc.py 这个模块提供了对读写AIFF和AIFF- c文件的支持.AIFF是一种音频交换文件格式,用于在文件中存储数字音频样本.AIFF-C是该格式的更新版本,它包含了压缩音 ...

  5. Python读取,写入,保存txt文件

    文件夹1:文件夹2:mnist11.txt 读取的三种方法 方法一: f=open('文件夹1/文件夹2/mnist11.txt') print(f.read()) 方法二: import os.pa ...

  6. python读取hdf-eos5数据_python读取与写入csv EXCEK HDF 文件

    一. 数据文件 pd指pandas简称,df指DataFrame对象. 1. csv 读取  pd.read_csv('foo.csv') 写入  df.to_csv('foo.csv') 2. HD ...

  7. html5加js实现本地文件读取和写入并获取本地文件路径

    HTML5提供了一台API可以实现文件的读写,文件读取利用API是FileReader 代码如下: 读取本地文件 <!doctype html> <html lang="e ...

  8. php com操作word,PHP操作word方法(读取和写入)

    PHP操作word方法(读取和写入) 发布于 2014-07-21 22:52:41 | 131 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  9. csv java web 导入_DAY5-step9 使用CSV模块和Pandas在Python中读取和写入CSV文件

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据. CSV是一种紧凑,简单且通用的数据交换通用格式. 许多在线服务允许其用户将网站中的表格数据导出到CSV文件中. CSV ...

最新文章

  1. Spring Session - 使用Spring Session从零到一构建分布式session
  2. 程序包java.awt不存在_IDEA解决Java:程序包xxxx不存在的问题
  3. JPEG2000开发SDK及其特点
  4. webConfig中System.Web 和 System.WebServer节点读取
  5. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第2节 TCP协议_4_TCP通信的服务器端代码实现...
  6. java+se+ee+spring_【JavaEE】Springmvc+Spring整合及example
  7. cygwin终端中显示的中文改成英文(没成功)
  8. 51 nod 最长公共子序列问题(打印路径)
  9. win2012没有远程桌面授权服务器可以提供许可证 如何远程
  10. srs流媒体服务器拉流的流程
  11. java mov 转 mp4 视频格式
  12. Android移动应用技术打地鼠小游戏(简单App实现)——学习成果
  13. 分享自学编程收藏的网站学习资源
  14. 2013年 雷诺 Renault Zoe | 警告信息 “停车: 电力故障危险”
  15. 小型数控雕刻机制作Arduino_基于Arduino DIY的激光雕刻机
  16. Leetcode187-Repeated DNA Sequences
  17. Cisco Cpos STM 配置示例
  18. 构建数字经济新生态,和数区块链结合隐私计算可发挥作用
  19. 利用js实现轮播图(上一张,下一张,选取第几张,动画等)
  20. 解决node-gyp ERR (npm install 报 gyp ERR等问题)

热门文章

  1. 第九届蓝桥杯 明码2018
  2. 斐波那契数列(复习)
  3. Elasticsearch 监控和优化(持续)
  4. 贺利坚老师汇编课程28笔记:在代码段使用数据加个标号start
  5. [SVN] 分支同步、合入主干操作分享
  6. vue自学入门-1(Windows下搭建vue环境)
  7. java如何打JAR包
  8. [学习笔记]C语言深度剖析
  9. Asp.net中Global.asax
  10. Ubuntu下添加打印机---之寻找设备lpinfo