![]() |
[PHP]String an Anfang einer Textdatei
Hi, mit folgendem Code schreibe ich in eine Textdatei:
Code:
Mein Problem, trotz dem fseek schreibt mir das Teil alles ans Ende der Datei und nicht an den Anfang.
function AddToShoutbox($userid,$text){
global $sbfile; if(is_file($sbfile)) { $file = fopen($sbfile,"a"); } else { $file = fopen($sbfile,"w+"); } fseek($file,"0"); fwrite($file,$userid . "\t" . time() . "\t" . $text ."\r\n"); fclose($file); }; Was mach ich falsch? Danke schonmal :angel: |
Re: [PHP]String an Anfang einer Textdatei
sicher, dass du da den string "0" übergeben willst und nicht die zahl "0"?
ich würde das aber sowieso so machen:
Code:
$text = file_get_contents('file.txt');
$text = 'blubb' . "\n" . $text; file_put_contents('file.txt',$text); //erst ab PHP 5, ansonsten fopen/fwrite/fclose |
Re: [PHP]String an Anfang einer Textdatei
geht au nich wenn ich nur 0 un nich "0" übergebe.. wobei ich denk das es auch kein unterschied macht oder?
auch nicht wenn ich anstatt fwrite, fputs verwende.. |
Re: [PHP]String an Anfang einer Textdatei
Also Delphi würd dir alles um die Ohren hauen was es hat, wenn du in einer Datei die Stelle '0' suchen willst... und weil PHP da ein bisschen unempfindlicher ist, kann es leicht vorkommen, dass du was falsches übergibts und es damit zu falschem verhalten kommt, obwohl du keine fehlermeldung kriegst.
|
Re: [PHP]String an Anfang einer Textdatei
Dacht ich mir au un hab 1 und auch ma "1" übergeben, aber geht beides au net...
|
Re: [PHP]String an Anfang einer Textdatei
dann machs so wies ich vorgeschlagen hab: Auslesen, ändern, drüberschreiben.
|
Re: [PHP]String an Anfang einer Textdatei
Und prüfe am besten mal, ob dir fseek auch 0 (Erfolg) und nicht -1 (Fehlgeschlagen) zurückliefert.
Siehe auch ![]() Falls du kein PHP5 hast:
Code:
if (!function_exists("file_put_contents")) {
/** * For PHP4 backward compatibiliy. * Provides a simple version of the PHP5 function file_put_contents. * Provious content in the file $filename will be lost. * Returns the bytes which were successfully written. * * @param string $filename * @param string $text * @return integer */ function file_put_contents($filename,$text){ // provides file_put_contents for PHP < PHP5 $fp = fopen($filename,"w+"); $result = fwrite($fp,$text); fclose($fp); return $result; } } if (!function_exists("file_get_contents")) { /** * For PHP4 backward compatibiliy. * Provides a simple version of the PHP5 function file_get_contents. * Returns the content of the file as a string. * * @param string $filename * @return string */ function file_get_contents($filename){ if(($contents = file($filename))){ $contents = implode('', $contents); return $contents; } else { return false; } } } |
Re: [PHP]String an Anfang einer Textdatei
ok, also fseek gibt 0 zurück, mit ftell lass ich mir die position des zeigers ausgeben, die ist auch 0.
ihr mein also ich sollte quasi den kompletten inhalt der datei rausholen, den neuen teil vorna anhängen und dann alles da drin wieder überschreiben? Edit: ich mach des jetz ma andersrum... ich häng die Daten hinten an un lies sie rückwarts aus dann gehts genauso :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz