In eine Datei vor einem Wert schreiben.

pl_90

Angesehenes Mitglied
Hallo Leute...
Ich möchte etwas in eine Date vor einem Wert schreiben...
Wist Ihr was ich meine?

Also die Datei enthält Werte und der Script soll jetzt den Wert AAA suchen und vor diesem
Wert den Wert XXX schreiben...

Wie geht das? Oder ist es mit preg_match und preg_replace einfacher?


Danke schon mal im Voraus...
 
Ich gehe davon aus, dass du das Skript mit PHP erstellen willst.

Du liest die Datei ein, das Handle ist also bspw. "$datei".
$datei = str_replace('AAA', 'xxx AAA', $datei);
(wobei xxx das ist, was davor stehen soll).

Hoffe, das ist es, was du meinst...
 
Jo... Danke.. Das kann ich auch, habs oben geschrieben ^^^...
smile.gif

Nur ist es auch möglich ohne replace das zu machen? Also, öffnen -> suchen -> vor dem gefundenen wert schreiben...
Danke im Voraus...
biggrin.gif
 
QUOTE habs oben geschrieben

hast du nich
wink.gif


Warum muss es denn mit preg_match() sein? Du fragst, ob es mit preg_match() einfacher ist, ich sage nein. Hättest du gleich sagen sollen, dass du etwas _mit_ regexes haben möchtest
smile.gif
 
Ne.. Sorry..
Leider klappt das nicht...
sad.gif

Ich hab das so gemacht:

$fopen = implode ("", file("wr2.php"));
$ding = "bla bla !!! ??? ## +bhb ++bdh";
$dong = "Das Ding war hier!";

str_replace ("#(.*)".$ding."(.*)#i", $dong, $fopen);

und auch mit
preg_replace ("#(.*)".$ding."(.*)#i", $dong, $fopen);

Aber irgendwie passiert da nichts ?? Woran kann das liegen? hab alle chmods ausprobiert...
Hat jemand ne Idee??

Danke schon mal im Voraus...
 
Wie kommst Du auf die Idee, daß so etwas

QUOTE (pl_90 @ Do 19.07.2007, 21:16)$fopen = implode ("", file("wr2.php"));
$ding = "bla bla !!! ??? ## +bhb ++bdh";
$dong = "Das Ding war hier!";

str_replace ("#(.*)".$ding."(.*)#i", $dong, $fopen);


irgendetwas ersetzen würde.

Lies dir mal die Dokumentation http://www.php.net/str_replace durch - und dann sieh dir an, was Du gemacht hast.

Diese Funktion gibt einen String oder ein Array zurück

und sonst nichts. Bei dir landet die Rückgabe im Nirvana.

Sprich: Erarbeite dir erst einmal die Basics von Programmiersprachen - im Augenblick fehlen diese noch ziemlich vollständig.
 
QUOTE (jAuer @ Do 19.07.2007, 22:24) Wie kommst Du auf die Idee, daß so etwas


QUOTE (pl_90 @ Do 19.07.2007, 21:16)$fopen = implode ("", file("wr2.php"));
$ding = "bla bla !!! ??? ## +bhb ++bdh";
$dong = "Das Ding war hier!";

str_replace ("#(.*)".$ding."(.*)#i", $dong, $fopen);


irgendetwas ersetzen würde.

Lies dir mal die Dokumentation http://www.php.net/str_replace durch - und dann sieh dir an, was Du gemacht hast.

Diese Funktion gibt einen String oder ein Array zurück

und sonst nichts. Bei dir landet die Rückgabe im Nirvana.

Sprich: Erarbeite dir erst einmal die Basics von Programmiersprachen - im Augenblick fehlen diese noch ziemlich vollständig.

naja.. Mit str_replace hat mir paigo ^^^ gesagt... ich hab immer für etwas
preg_replace benutzt... Nur wie ich das in einer Datei ersetze, weiß ich nicht...
Hast du oder jemand ne Idee? Vielleicht mit fopen und file_get_contents?
 
Ne.. Ich hab keine Ahnung.. ich hab alles mögliche versucht.. bitte hilft mir.. das ist ganz wichtig... Danke schön im Voraus...
 
QUOTE (pl_90 @ Do 19.07.2007, 21:37)Ne.. Ich hab keine Ahnung.. ich hab alles mögliche versucht.. bitte hilft mir.. das ist ganz wichtig... Danke schön im Voraus...

Wenn Du keine Ahnung hast, dann nützt es nichts, etwas zu versuchen, herumzuraten, sondern dann wird es Zeit, daß Du dir die Grundlagen der Programmiersprache erarbeitest.

Es scheint ja jeder Thread von dir so zu enden - also ändere dies.
 
Danke für die tolle Hilfe... Man schreibt hier ins Forum rein und hofft, dass geholfen wird und da
schreibt einer "Wenn du keine Ahnung hast... dann erarbeite dir die Grundlagen..."... Na toll was soll ich bitteschön damit
biggrin.gif

Und was was bringen mir die Grundlagen, wenn dort nicht alles steht damit man sie verstehen und "verarbeiten" und "umschreiben" kann... Was würdest du auf meiner Stelle tun? Gleich die Grundlagen durchgelesen und dannach ein perfektes Script geschrieben? Ne... bestimmt nicht...
biggrin.gif
biggrin.gif


Also ich verstehe PHP, nur nicht alles...
biggrin.gif

Ich hab das jetzt so gemacht und es klappt...

$fopen = file("wr2.php");

$ding = "bla bla !!! ??? ## +bhb ++bdh";
$dong = "Das war hier!";

$data = preg_replace ("#(.*)".$ding."(.*)#i", $dong, $fopen);


$fp = fopen("wr2.php", "w");

foreach($data as $value)
fputs($fp, $data);

fclose($fp);


Nur durch den foreach wird alles ja was gleich $ding ist ersetzt..
Gibt es nicht einen anderen Befehl der das nur einmal macht?
Weil ich weiß, wenn ich foreach entferne, dann geht ja dann gar nichts,
doch geht, aber dann wird die ganze Date gelöscht und dann steht da schön Array..
biggrin.gif


Eine Idee?
 
Nur mal fürs Protokol: Mit str_replace() funktioniert es. Nur nicht so, wie du es gemacht hast. Im Übrigen ist Ayom nicht dafür da, das gesamte PHP-Grundwissen zu vermitteln. Dafür gibt es gute Bücher oder php.net
wink.gif
 
Programmieren ist wie Kochrezepte schreiben: Du, Computer, mache dies, dann jenes, wenn diese Bedingung gilt, dann mache das.

Kochrezept: Wie koche ich Salzkartoffeln?
  • Schäle einige Kartoffeln
  • Schneide sie in gleich große Stücke und fülle sie in einen Metalltopf
  • Fülle den Topf mit Wasser, so daß alle Stücke bedeckt sind
  • Bring das Wasser zum Kochen und salze
  • Lass es auf schwacher Flamme 15 Minuten weiter köcheln
  • Gieße ab.
@pl_90, was machst Du?

Du läßt das Wasser weg, machst den Rest, die Herdplatte glüht bereits - allerdings ist unklar, ob Du das bemerkst. Du fragst im Forum, jemand sagt dir, Du mußt Wasser in den Topf kippen (er denkt natürlich, Du hättest noch einen kalten Topf). Du machst das - in den glühenden und mit schwarzen Kartoffeln gefüllten Topf - und dann kommst Du mit schwersten Verbrennungen ins Krankenhaus und beschwerst dich über die Ratschläge.

Und wenn sich das Thread um Thread wiederholt, dann thematisiere ich das irgendwann einmal. Oben ('Wenn Du keine Ahnung hast') habe ich dich zitiert.

Sprich: Wenn man sieht, was Du aus Ratschlägen machst (siehe oben dein zweiter Beitrag, dir nämlich Verbrennungen einhandelst), dann sagt man sich: Man gibt dir am besten keine Ratschläge mehr.
 
QUOTE (jAuer @ Fr 20.07.2007, 08:56) Programmieren ist wie Kochrezepte schreiben: Du, Computer, mache dies, dann jenes, wenn diese Bedingung gilt, dann mache das.

Kochrezept: Wie koche ich Salzkartoffeln?
  • Schäle einige Kartoffeln
  • Schneide sie in gleich große Stücke und fülle sie in einen Metalltopf
  • Fülle den Topf mit Wasser, so daß alle Stücke bedeckt sind
  • Bring das Wasser zum Kochen und salze
  • Lass es auf schwacher Flamme 15 Minuten weiter köcheln
  • Gieße ab.
@pl_90, was machst Du?

Du läßt das Wasser weg, machst den Rest, die Herdplatte glüht bereits - allerdings ist unklar, ob Du das bemerkst. Du fragst im Forum, jemand sagt dir, Du mußt Wasser in den Topf kippen (er denkt natürlich, Du hättest noch einen kalten Topf). Du machst das - in den glühenden und mit schwarzen Kartoffeln gefüllten Topf - und dann kommst Du mit schwersten Verbrennungen ins Krankenhaus und beschwerst dich über die Ratschläge.

Und wenn sich das Thread um Thread wiederholt, dann thematisiere ich das irgendwann einmal. Oben ('Wenn Du keine Ahnung hast') habe ich dich zitiert.

Sprich: Wenn man sieht, was Du aus Ratschlägen machst (siehe oben dein zweiter Beitrag, dir nämlich Verbrennungen einhandelst), dann sagt man sich: Man gibt dir am besten keine Ratschläge mehr.

Weiß du was...
Ich sags nochmal...
Ich verstehe PHP nur nicht alles, manche Bereiche sehr gut, manche nicht
und in diesem Fall das hier nicht so gut...
biggrin.gif


Es hat mir schon eine sehr Nette Person aus diesem Forum weitergeholfen und ich danke dafür sehr... Es gibt hier im Forum Menschen, die ein Herz haben und weiterhelfen können und nicht so wie du, dass du ständig kritisierst und zu jedem sagst "...Erarbeite dir die Grundkenntnisse..."... Ich glaube, du musst dir das erarbeiten... Hatest du schon ein perfektes Script geschrieben, nachdem du die Grundkenntnisse dir durchgelesen hast? Nein sicher nicht! Also mecker hier nicht...! Bei dir steht im Profil "Experte", aber da sollte stehen "Experte für Kritik"... OK...
biggrin.gif
Es wäre am Besten so, wenn du überhaupt nicht auf meine Threads reagierst, den du statt helfen nur kritisiert und mit deinen Sprüchen "..Erarbeite dir die Grundkenntnisse..." die Leute abknallst...
dry.gif


Ich bedanke mich hiermit für alle Leute die mir in diesem Forum weitergeholfen haben und helfen wollten !! Ihr seit super nett !! Danke schön !!
biggrin.gif
smile.gif
 
Zurück
Oben