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 随机记录mysql rand()造成CPU 100%的解决办法
May 18 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
php中数组首字符过滤功能代码
Jul 31 PHP
解析php扩展php_curl.dll不加载的解决方法
Jun 26 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
微信获取用户地理位置信息的原理与步骤
Nov 12 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
Jun 20 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
PHP session垃圾回收机制实例分析
Jun 28 PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 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
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
js版本A*寻路算法
2006/12/22 Javascript
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
在Python中操作字典之update()方法的使用
2015/05/22 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
python 弧度与角度互转实例
2020/04/15 Python
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
标准导师推荐信(医学类)
2013/10/28 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
体检通知范文
2015/04/21 职场文书
绿色环保倡议书
2015/04/28 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
单位接收证明格式
2015/06/18 职场文书