AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP]String an Anfang einer Textdatei
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP]String an Anfang einer Textdatei

Ein Thema von Angel4585 · begonnen am 28. Nov 2006 · letzter Beitrag vom 29. Nov 2006
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

[PHP]String an Anfang einer Textdatei

  Alt 28. Nov 2006, 15:46
Hi, mit folgendem Code schreibe ich in eine Textdatei:
Code:
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);
};
Mein Problem, trotz dem fseek schreibt mir das Teil alles ans Ende der Datei und nicht an den Anfang.
Was mach ich falsch?

Danke schonmal

Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: [PHP]String an Anfang einer Textdatei

  Alt 28. Nov 2006, 15:52
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
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: [PHP]String an Anfang einer Textdatei

  Alt 28. Nov 2006, 15:57
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..
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: [PHP]String an Anfang einer Textdatei

  Alt 28. Nov 2006, 16:26
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.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#5

Re: [PHP]String an Anfang einer Textdatei

  Alt 28. Nov 2006, 16:35
Dacht ich mir au un hab 1 und auch ma "1" übergeben, aber geht beides au net...
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: [PHP]String an Anfang einer Textdatei

  Alt 28. Nov 2006, 16:37
dann machs so wies ich vorgeschlagen hab: Auslesen, ändern, drüberschreiben.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#7

Re: [PHP]String an Anfang einer Textdatei

  Alt 28. Nov 2006, 16:40
Und prüfe am besten mal, ob dir fseek auch 0 (Erfolg) und nicht -1 (Fehlgeschlagen) zurückliefert.
Siehe auch http://de2.php.net/manual/de/function.fseek.php

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;
      }
    }
  }
Manuel
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: [PHP]String an Anfang einer Textdatei

  Alt 29. Nov 2006, 08:03
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
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz