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数据库密码的找回的步骤
Jan 12 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
PHP生成随机密码类分享
Jun 25 PHP
PHP文件读写操作相关函数总结
Nov 18 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
浅析Yii2集成富文本编辑器redactor实例教程
Apr 25 PHP
PHP面向对象程序设计组合模式与装饰模式详解
Dec 02 PHP
PHP编程实现阳历转换为阴历的方法实例
Aug 08 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 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动态图像的创建
2006/10/09 PHP
一些关于PHP的知识
2006/11/17 PHP
处理php自动反斜杠的函数代码
2010/01/05 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
python脚本设置系统时间的两种方法
2016/02/21 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
微信小程序python用户认证的实现
2019/07/29 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
python实现随机加减法生成器
2020/02/24 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
《威尼斯的小艇》教学反思
2014/02/17 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
师德师风事迹材料
2014/12/20 职场文书
校运会广播稿
2015/08/19 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang
pytorch 实现多个Dataloader同时训练
2021/05/29 Python