PHP implements reading and writing tab-delimited files

*文
Release: 2023-03-18 17:32:02
Original
1973 people have browsed it

This article mainly introduces the implementation of reading and writing tab-delimited files in PHP, and involves related skills in reading and writing PHP files and string operations. I hope to be helpful.

The example in this article describes the implementation of reading and writing tab-delimited files in PHP. Share it with everyone for your reference. The specific analysis is as follows:

This php code implements reading and writing tab-divided files, including two independent functions, one reading and one writing, such as cvs files, etc.

//
// 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]) != &#39;&#39;){
      $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(
  &#39;line1&#39; => array(&#39;data-1-1&#39;, &#39;data-1-2&#39;, &#39;data-1-3&#39;),
  &#39;line2&#39; => array(&#39;data-2-1&#39;, &#39;data-2-2&#39;, &#39;data-2-3&#39;),
  &#39;line3&#39; => array(&#39;data-3-1&#39;, &#39;data-3-2&#39;, &#39;data-3-3&#39;),
  &#39;line4&#39; => &#39;foobar&#39;,
  &#39;line5&#39; => &#39;hello world&#39;
);
// save the array to the data.txt file:
write_tabbed_file(&#39;data.txt&#39;, $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(&#39;data.txt&#39;,true);
print_r($reloaded_array);
// returns the array from above
Copy after login

Related recommendations:

php Detailed explanation of file reading series methods

php Determination of file type Sample code

php file caching function

The above is the detailed content of PHP implements reading and writing tab-delimited files. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template