CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
25.04.2016, 11:29:40
|
Anfänger
|
|
Registriert seit: Apr 2016
Alter: 35
Beiträge: 16
|
|
Variable in der CSV Datei ändern
Hallo Zusammen, kann mir vielleicht einer sagen wie ich die Variable einer CSV-Datei ändern kann?
Was ich habe ist folgendes:
Code:
public function changeCsvFile($customerValue, $systemValue, $file) {
$delimiter = $this->detectDelimiter($file);
sort($file);
$csvfile = fopen($file, 'r');
$csv_data = fgets($csvfile, 10240);
$import_csv_data = explode($delimiter, trim($csv_data));
$value_array[] = $import_csv_data;
foreach($value_array as $csvArray) {
$oldValue = $csvArray;
if(in_array($customerValue, $oldValue)) {
unset($oldValue[array_search($customerValue,$oldValue)]);
array_push($oldValue, $systemValue);
wenn ich hier ein "print_r($oldValue)" mache, wird im Array der richtige Wert ersetzt, aber wie bekomme ich es hin, dass dieser Wert auch in der CSV Datei geschrieben wird?
$fp = fopen($file, 'a');
fputcsv($fp, $oldValue);
}
}
fclose($csvfile);
}
Momentan wird einfach nur eine weitere Zeile erstellt, mit den alten Werten + des ersetztem Wert, allerdings möchte ich, dass sich nur der GESUCHT Wert ändert/ überschrieben wird und keine neue Zeilen hinzugefügt.
Danke für die Hilfe!
|
25.04.2016, 11:43:08
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Variable in der CSV Datei ändern
Hast Du dazu auch ein paar Beispieldaten?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
25.04.2016, 11:54:25
|
Anfänger
|
|
Registriert seit: Apr 2016
Alter: 35
Beiträge: 16
|
|
AW: Variable in der CSV Datei ändern
Also folgendes enthalten die Variablen und es sind alles arrays:
$customerValue = Nachnamens, Vornames, Strassens
$systemValue = Nachname, Vorname, Strasse
in der CSV-Datei (sprich hier in der $value_array steht drinne: Nachnames, Vornames, Strassens.
Nun soll erkannt werden das sich in dem Array der CSV-Datei die Werte der $customerValue befinden und die dann nur diese Werte durch $systemValue ersetzen.
Momentan ersetzt er die Variablen im Array zwar richtig, aber er fügt sie als neue Zeile ein statt die vorhandenen zu ersetzen.
Hoffentlich ist das Verständlich.
|
25.04.2016, 12:15:13
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Variable in der CSV Datei ändern
Leider nein.
Aber, Vorschlag: schreibe alle gelesenen und/oder geänderten Zeilen in die zuvor geleerte Datei zurück und nicht nur die geänderte. Denn Du hast ja bis jetzt nur Manipulationen in Deinen Arrays vorngenommen und nichts an dem Dateiinhalt geändert.
PS: Wozu ein und die selbe Datei zweimal unterschiedlich öffnen?
PSS: Was soll machen? Den Dateinamen sortieren?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
25.04.2016, 13:20:18
|
Member
|
|
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
|
|
AW: Variable in der CSV Datei ändern
Die Option $fp = fopen($file, 'a'); hängt dir an deine Daten nur deine neuen Werte an, so gesehen passiert, was du gecoded hat.
php.net sagt zum mode:
Zitat:
'a' Nur zum Schreiben geöffnet; platziere Dateizeiger auf Dateiende. Existiert die Datei nicht, versuche, diese zu erzeugen. In diesem Modus ist fseek() wirkungslos; beim Schreiben wird immer angehängt.
|
Mein Vorschlag:
1. Lies dein File aus
2. gehe in einer Schleife alle Variablen durch und ändere, was zu ändern ist.
3. Schreib das gesamte Ergebnis mit den geänderten Werten in ein neues File oder überschreibe das alte komplett.
$fp = fopen($file, 'w');
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:55:36 Uhr.
|