PHP implémente la lecture et l'écriture de fichiers délimités par des tabulations

*文
Libérer: 2023-03-18 17:32:02
original
1974 Les gens l'ont consulté

Cet article présente principalement l'implémentation de la lecture et de l'écriture de fichiers délimités par des tabulations en PHP, et implique des compétences connexes en lecture et en écriture de fichiers PHP et d'opérations de chaînes. J'espère que cela aide tout le monde.

L'exemple de cet article décrit l'implémentation de la lecture et de l'écriture de fichiers délimités par des tabulations en PHP. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Ce code php implémente la lecture et l'écriture de fichiers divisés par tabulations, y compris deux fonctions indépendantes, une lecture et une écriture, telles que les fichiers cvs, 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
Copier après la connexion

Recommandations associées :

Explication détaillée des méthodes de lecture des séries de fichiers php

php type de fichier Exemple de code de jugement

fonction de mise en cache de fichier php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal