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

 更新时间:2015年06月01日 15:31:37   作者:企鹅不笨  
这篇文章主要介绍了php实现读取和写入tab分割的文件,涉及php文件读写及字符串操作的相关技巧,需要的朋友可以参考下

本文实例讲述了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实现的XXTEA加密解密算法示例

    PHP实现的XXTEA加密解密算法示例

    这篇文章主要介绍了PHP实现的XXTEA加密解密算法,结合实例形式分析了php XXTEA加密解密算法类的定义与简单使用操作技巧,需要的朋友可以参考下
    2018-08-08
  • PHP实现的二分查找算法实例分析

    PHP实现的二分查找算法实例分析

    这篇文章主要介绍了PHP实现的二分查找算法,结合实例形式分析了二分查找算法的原理与循环、递归等实现技巧,需要的朋友可以参考下
    2017-12-12
  • 基于PHP实现数据分页显示功能

    基于PHP实现数据分页显示功能

    这篇文章主要为大家详细介绍了基于PHP实现数据分页显示功能,分页在后台管理中是经常使用的功能,分页显示方便大量数据的管理,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • thinkphp如何获取客户端IP

    thinkphp如何获取客户端IP

    这篇文章主要介绍了thinkphp如何正确获取客户端IP,除了使用内置get_client_ip函数,还有没有其他方法?请阅读下文揭晓答案。
    2015-11-11
  • PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】

    PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】

    这篇文章主要介绍了PHP基于PDO实现的SQLite操作类,包含增删改查及事务等操作实现技巧与使用方法,需要的朋友可以参考下
    2017-06-06
  • PHP 身份验证方面的函数

    PHP 身份验证方面的函数

    写了几个身份证方面的函数,个人感觉挺有用的,特别是在网络问卷调查时,对个人信息里的身份证进行验证很有用,但是应者寥寥,还是收在自己的blog里算了。
    2009-10-10
  • 新手菜鸟必读:session与cookie的区别

    新手菜鸟必读:session与cookie的区别

    以下是对php中session与cookie的区别进行了详细的分析介绍,新手朋友们一定要过来参考下
    2013-08-08
  • php 查找数组元素提高效率的方法详解

    php 查找数组元素提高效率的方法详解

    本文主要介绍了php查找数组元素提高效率的方法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • 你应该知道PHP浮点数知识

    你应该知道PHP浮点数知识

    这篇文章主要介绍了你应该知道PHP浮点数知识,本文讲解了PHP浮点数、PHP数字的临界值,精度损失等问题,需要的朋友可以参考下
    2015-05-05
  • drupal 代码实现URL重写

    drupal 代码实现URL重写

    开启了url_alter后,将实现两个HOOK,hook_url_inbound_alter与hook_url_outbound_alter,作用是重写URL,第三方URL重写模块都需要实现它。
    2011-05-05

最新评论