• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

fputs

LudwigM

Mitglied
Hallo,
ich möchte gerne in eine Textdatei schreiben.
Wie kann ich den Inhalt zweier Variablen, mit Leerzeichen dazwischen und danach einen Zeilenumbruch, verknüpfen?

Inhalt Variable1 + Leerzeichen + Inhalt Variable2 + Zeilenumbruch

Gruß Ludwig
 
Wie nehme ich Bezug auf die Datei/Textdokument? Bis jetzt habe ich es so gemacht, nur die Verknüpfungen kriege ich nicht hin...
PHP:
  $datei = fopen("Text.txt","a+");
  fputs($datei, $variable);
    fclose($datei);
 
Tur mir leid, geht immer noch nicht.

PHP:
  $output = "$uhrzeit $ip\n";
  fputs($datei, $output);

PHP:
  $output = $ip
  $output .= $uhrzeit; 
fputs($datei, $output);

Was mach ich denn falsch?
 
Der erste Teil sollte genau das machen, was du willst. Was funktioniert denn nicht???
 
Es wird nichts angezeigt, wenn die Seite aufgerufen wird. Gesamter Code:

PHP:
  <?php
  $ip = $_SERVER['REMOTE_ADDR'];
  echo $ip;
  ?><br>
  <?php
  $datum = date("d.m.Y");
  $uhrzeit = date("H:i");
  echo $datum," - ",$uhrzeit," Uhr";
  $datei = fopen("Test1.txt","r+");
  $inhalt = fgets($datei, 10);
  $inhalt = $inhalt + 1;
  rewind($datei);
  fputs($datei, $inhalt);
  fclose($datei)

  $datei2 = fopen("Test2.txt","a+");
  $output = "$uhrzeit $ip\n";
  fputs($datei2, $output);
  fclose($datei2);
  ?>
 
Was soll da auch schon angezeigt werden außer der IP und das Datum?

Außerdem fehlt da ein Semikolon hinter dem fclose
 
Weil da ein Semikolon fehlt! Du solltest mal das Error-Reporting hochdrehen und dafür sorgen, dass dir Fehler auch angezeigt werden
PHP:
error_reporting(E_ALL);
ini_set("display_errors", true);
 
Ja das wars wirklich ein totaler Anfängerfehler, hätte nicht passieren dürfen, aber beim nächsten Mal werde ich darauf achten!
Wo schreibe ich die Error-Reporting Anweisung hinschreiben, am Anfang des php-Codes?
Wo sehe ich dann die Meldung, im Browser? Phase5 zeigt ja leider gar keine Fehler an :( , schlecht für einen Anfänger...
 
Ich rate generel von Phase5 ab, da dort auch nicht so gut farblich die Syntax hervorgehoben wird ;)

Die Error Anweisung kommt grundsätzlich an den Anfang :D Die Fehler siehst du dann beim Ausführen im Browser.
 
Wo schreibe ich die Error-Reporting Anweisung hinschreiben, am Anfang des php-Codes?

Ja.

Wo sehe ich dann die Meldung, im Browser?

Ja, sofern Du natürlich die Seite "scharf" stellst. Der Browser allein kann mit PHP gar nix anfangen.

Wenn Du später (wenn alles funktioniert) die Datei scharf stellst, muss Du das Error-Handling aber ändern und Dir die Errormeldungen z. B. in eine Textdatei schreiben lassen (gibt natürlich noch weit professionellere Alternativen, aber soweit bin ich noch nicht, dass ich Dir das jetzt gut erklären kann - Du aber auch nicht, dass Du das verstehen würdest). Du produzierst nämlich sonst Sicherheitslücken, wenn PHP-Errormeldungen Deiner Seite weltweit sichtbar sind. Und blöd sieht so etwas auch aus.

Phase5 zeigt ja leider gar keine Fehler an :( , schlecht für einen Anfänger...

*Hüstel* Wie stellst Du Dir das denn vor, wie ein Editor das ausgeben sollte?! Ein Editor kann definitiv kein PHP parsen, noch weniger als ein Browser.

Lg

Xeno
 
Für die Syntax reicht z.B. Notepad++ aus. Da ist die Syntax besser farblich hervorgehoben, sodass man sehr viele Fehler schneller finden kann... ;). Phase5 ist ja auch eigentlich ein Editor für HTML...

Gerade für einen Anfänger sollte der Code farblich hervorgehoben werden ...
 
Zurück
Oben