php实现读取和写入tab分割的文件


Posted in PHP onJune 01, 2015

本文实例讲述了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 相关文章推荐
《PHP编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
php自定义函数call_user_func和call_user_func_array详解
Jul 14 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
ThinkPHP文件缓存类代码分享
Apr 22 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP实现的进度条效果详解
May 03 PHP
浅谈PHP Cookie处理函数
Jun 10 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
Apr 07 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
PHP中PCRE正则解析代码详解
Apr 26 PHP
php从文件夹随机读取文件的方法
Jun 01 #PHP
php计算整个目录大小的方法
Jun 01 #PHP
php获取系统变量方法小结
May 29 #PHP
typecho插件编写教程(六):调用接口
May 28 #PHP
PHP cURL初始化和执行方法入门级代码
May 28 #PHP
php支持中文字符串分割的函数
May 28 #PHP
typecho插件编写教程(五):核心代码
May 28 #PHP
You might like
php中的时间显示
2007/01/18 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
浅谈 jQuery 事件源码定位问题
2014/06/18 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
详解Python中where()函数的用法
2018/03/27 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
Python排序函数的使用方法详解
2020/12/11 Python
英国在线药房:Express Chemist
2019/03/28 全球购物
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
铭立家具面试题
2012/12/06 面试题
门卫人员岗位职责
2013/12/24 职场文书
会计专业个人求职信范文
2014/01/08 职场文书
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
英语系本科生求职信
2014/07/15 职场文书
美术教师求职信范文
2015/03/20 职场文书
Python字典和列表性能之间的比较
2021/06/07 Python
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技