首页 > 开发 > PHP > 正文

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

2024-05-04 23:35:48
字体:
来源:转载
供稿:网友

这篇文章主要介绍了php实现读取和写入tab分割的文件,涉及php文件读写及字符串操作的相关技巧,需要的朋友可以参考下

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

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

 

 
  1. // 
  2. // save an array as tab seperated text file 
  3. // 
  4. function write_tabbed_file($filepath$array$save_keys=false){ 
  5. $content = ''
  6. reset($array); 
  7. while(list($key$val) = each($array)){ 
  8. // replace tabs in keys and values to [space] 
  9. $key = str_replace("/t"" "$key); 
  10. $val = str_replace("/t"" "$val); 
  11. if ($save_keys){ $content .= $key."/t"; } 
  12. // create line: 
  13. $content .= (is_array($val)) ? implode("/t"$val) : $val
  14. $content .= "/n"
  15. if (file_exists($filepath) && !is_writeable($filepath)){  
  16. return false; 
  17. if ($fp = fopen($filepath'w+')){ 
  18. fwrite($fp$content); 
  19. fclose($fp); 
  20. else { return false; } 
  21. return true; 
  22. // 
  23. // load a tab seperated text file as array 
  24. // 
  25. function load_tabbed_file($filepath$load_keys=false){ 
  26. $array = array(); 
  27. if (!file_exists($filepath)){ return $array; } 
  28. $content = file($filepath); 
  29. for ($x=0; $x < count($content); $x++){ 
  30. if (trim($content[$x]) != ''){ 
  31. $line = explode("/t", trim($content[$x])); 
  32. if ($load_keys){ 
  33. $key = array_shift($line); 
  34. $array[$key] = $line
  35. else { $array[] = $line; } 
  36. return $array
  37. /* 
  38. ** Example usage: 
  39. */ 
  40. $array = array
  41. 'line1' => array('data-1-1''data-1-2''data-1-3'), 
  42. 'line2' => array('data-2-1''data-2-2''data-2-3'), 
  43. 'line3' => array('data-3-1''data-3-2''data-3-3'), 
  44. 'line4' => 'foobar'
  45. 'line5' => 'hello world' 
  46. ); 
  47. // save the array to the data.txt file: 
  48. write_tabbed_file('data.txt'$array, true); 
  49. /* the data.txt content looks like this: 
  50. line1 data-1-1 data-1-2 data-1-3 
  51. line2 data-2-1 data-2-2 data-2-3 
  52. line3 data-3-1 data-3-2 data-3-3 
  53. line4 foobar 
  54. line5 hello world 
  55. */ 
  56. // load the saved array: 
  57. $reloaded_array = load_tabbed_file('data.txt',true); 
  58. print_r($reloaded_array); 
  59. // returns the array from above 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表