1Danke
ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
328
328
EMPFEHLEN
-
Hi,
ich habe eine ganz simple Textdatei. Das kann ein Text sein, aber durchaus auch ein Quelltext. Diese Datei beinhaltet sozusagen den Kern, die wichtigsten Informationen stehen dort. Nun müssen aber zur weiteren Verarbeitung Zusatzinformationen, unbedingt in die ersten Zeilen der Datei gepackt werden. Das heißt, dass ich nun insgesamt drei Zeilen habe, die vor die Zeilen aus der Datei müssen und dann anschließend wieder in diese abgespeichert werden. Warum nicht einfach ein Beispiel:
Das ist die Ursprungsdatei:
Nun habe ich diese Informationen:Code :1 2 3 4 5 6 7
a b c d e f g
Die sollen davorgesetzt werden:Code :1 2 3
1 2 3
Nun habe ich aber das Problem, dass die erste Zeile der Grunddatei - in unserem Falle das "a" einfach verloren geht. Wirklich keine Spur mehr. Der Rest ist nach der Aktion immernoch vorhanden, nur diese eine erste Zeile des Inhalts fehlt einfach. An dem Beispiel von eben gezeigt, wäre das das Ergebnis:Code :1 2 3 4 5 6 7 8 9 10
1 2 3 a b c d e f g
Code :1 2 3 4 5 6 7 8 9
1 2 3 b c d e f g
Ich lese die Datei ein, setze die Zeilen davor, setze den Dateizeiger auf den Ursprung und schreibe dann alles via fwrite in die Datei. Habt Ihr eine Idee woran das liegen könnte ?
PHP-Code:$datei = fopen("data/".$dateiname, "r+");
$daten = fread($datei);
$daten = $highlighter."\r\n".$author."\r\n".$title."\r\n".$daten;
rewind($datei);
fwrite($datei, $daten);
fclose($datei);
-
20.07.09 22:11 #2
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
fread() erwartet einen zweiten Parameter length.
Nimm doch einfach file_get_contents(), wenn Du ja sowieso die ganze Datei einlesen musst.PHP-Code:$daten = fread($datei, filesize("data/".$dateiname));
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
20.07.09 22:43 #3
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.127
Wie kuddeldaddeldu schon schrieb, hilft die file_get_contents. Das liefert ein Array zurück.
Dann erzeugst du ein zweites Array:
Nun fügst du alles zusammen:PHP-Code:$meta = array('1', '2', '3');
Dies kannst du dann in die ursprüngliche Datei schreiben:PHP-Code:$new_file_contents = array_merge($meta, $file_content);
PHP-Code:file_put_contents("file.ext", $new_file_contents);
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Hi, ah, vielen Dank. Tja, manchmal fehlt einem eben doch ein Parser. Bin eben hauptsächlich mit Object Pascal unterwegs und da arbeitet man mit dem Parser regelrecht zusammen, muss mich da wohl etwas umgewöhnen.
Edit: Also wäre das alles zuasmmengefasst so zu lösen ? Array wäre sowieso besser.
PHP-Code:$inhalt = file_get_contents("data/".$dateiname);
$meta = array($highlighter, $author, $title);
$ergebnis = array_merge($meta, $inhalt);
file_put_contents("data/".$dateiname, $ergebnis);
Geändert von Nils_13 (20.07.09 um 22:55 Uhr)
-
file_get_contents() liefert kein Array.
Oder mit fopen und a (append) arbeiten.PHP-Code:$str = file_get_contents("die.eine");
$foo = file_get_contents("die.andere");
file_put_contents("neu.dat", $str . "\n" . $foo);
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
20.07.09 23:07 #6
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
Quatsch. Das verwechselst Du mit file(). file_get_contents liefert den gesamten Dateiinhalt als String zurück.
Also kann man den neuen Inhalt wie gehabt per Stringkonkatenation zusammenfügen und per file_put_contents zurückschreiben.
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
21.07.09 07:13 #7
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.127
Ja, hab mich geirrt. Sorry für die falsche Aussage.
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Hm, das hätte ich merken müssen, habe den Link wohl nur übermüdet durchgelesen und das nicht gemerkt, aber ist ja auch kein Problem, kommt vor. Dann ist das Thema an der Stelle erledigt. Danke für Eure Hilfe! Der Hinweis mit file_get_contents war sehr hilfreich, er komprimiert den Code um ein vielfaches.
Ähnliche Themen
-
Javascript zu PHP umschreiben
Von Sven4972 im Forum PHPAntworten: 7Letzter Beitrag: 23.09.09, 21:40 -
Umschreiben von .mov auf brauchbare datei
Von dieni im Forum Videoschnitt, Videotechnik & -produktionAntworten: 1Letzter Beitrag: 22.09.07, 17:43 -
PHP in cgi umschreiben
Von dsaer im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 1Letzter Beitrag: 28.03.07, 08:46 -
Shellscript umschreiben
Von fanste im Forum Linux & UnixAntworten: 6Letzter Beitrag: 12.04.06, 19:24 -
GB-Script umschreiben =(
Von Scytheman im Forum PHPAntworten: 4Letzter Beitrag: 23.01.03, 21:45





Zitieren


Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen