csv und PHP
Peter
- php
Hallo zusammen,
hat einer von Euch zufällig in skript mit welchem ich mittels PHP eine csv-Datei öffnen kann - den Wert einer Spalte durch einen anderen (random-passwort-wert) ersetzen und danach wieder abspeichern kann.
Besten Dank,
Peter
Hallo zusammen,
hat einer von Euch zufällig in skript mit welchem ich mittels PHP eine csv-Datei öffnen kann - den Wert einer Spalte durch einen anderen (random-passwort-wert) ersetzen und danach wieder abspeichern kann.
Besten Dank,
Peter
// auslesen
$zeilen = file("datei.csv");
// Spalten von Zeile 1 splitten
$spalten = explode(";", $zeilen[0]);
// gewünschte Zeichenkette als neuen Wert in Spalte 5 setzen
$spalten[4] = $zeichenkette;
// Spalten wieder zusammenfassen
$zeilen[0] = implode(";", $spalten);
// Alle Zeilen in Datei zurückschreiben
$file = fopen("datei.csv", "w");
for($i=0;$i<count($zeilen);$i++)fwrite($file, $zeilen[$i]);
fclose($file);
Gruss, Kay
Hallo zusammen,
hat einer von Euch zufällig in skript mit welchem ich mittels PHP eine csv-Datei öffnen kann - den Wert einer Spalte durch einen anderen (random-passwort-wert) ersetzen und danach wieder abspeichern kann.
Nimm z.B. mein Datenbank-Modul für Textdateien. Es muss nur noch für csv-Dateien konfiguriert werden, also einige Characters ausgetauscht werden:
<?php
/*
Verwendung:
$dbfile = 'Pfad/Datenbank.Erweiterung'; // Name einer Textdatei
include("Pfad/db-lesen.php");
... // Zugriff über das Array $
Zum Format:
* Eine Zeile der Textdatei entspricht einer Datenbankzeile
* Kommentare sind jeweils von Zeilenanfang bis Zeilenende und beginnen
mit einer Raute '#'. Ich empfehle Kommentare NUR am Anfang der Datei.
* Die einzelnen Spalten werden durch den senkrechten Strich '|'
voneinander getrennt.
*/
$db = file($dbfile);
for ($i = 0; $i < count($db); ++$i) {
// durchlaufe die Datenbankdatei bis zum Dateiende
if (preg_match("/^#/", $db[$i])) continue;
// Kommentarzeilen beginnen mit einer Raute '#'
if (preg_match("/^\s/", $db[$i])) continue;
// Zeilen mit einem Space am Anfang werden ignoriert
$datei = preg_split("/|/", $db[$i]);
// VORSICHT: $datei ist ein Array!
for ($ii = 0; $ii < count($datei); ++$ii)
chop($datei[$ii]);
$daten[] = $datei; // erstelle zweidimensionales Array
}
?>
Besten Dank,
Keine Ursache