Ankündigung

Einklappen
Keine Ankündigung bisher.

Anlegen einer Datei

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Anlegen einer Datei

    Hallo,
    ich habe wieder mal eine Anfängerfrage:

    PHP-Code:
    <html>
    <head>
    <title>Test</title>
    </head>
    <body>
    <?php
    $file1
    ="/firstaid-kle/Test1/count.txt";
    if (!
    file_exists($file1))
    {echo 
    "File existiert nicht";
    $counter=fopen($file1"a");}
    else
    {echo 
    "File existiert";
    $counter=fopen($file1"r+");}
    $aufruf=fgets($counter100);
    $aufruf=$aufruf+1;
    rewind($counter);
    fputs($counter,$aufruf);
    fclose($counter);
    echo 
    $aufruf;
    ?>
    </body>
    </html>
    Bei der o.a. Testroutine müßte doch beim 1. mal eine Datei (count.txt) auf dem Server (in Ordner /firstaid-kle/Test1) angelegt werden. Das passiert aber nicht. Was ist falsch?

  • #2
    Bitte Code-Tags nutzen, so kann man nichts erkennen. Ansonsten .. Fehlerlog anschauen oder error_reporting hochdrehen und schaun was dir PHP sagt. https://php-de.github.io/jumpto/faq/#debugging

    Warum nutzt du nicht file_put_contents()? Das wäre weit einfacher.

    Und schau dir auch noch gleich das EVA-Prinzip an. https://php-de.github.io/jumpto/eva-prinzip/ HTML ist nur Ausgabe (das A in EVA), da hat sowas an Code eigentlich nichts verloren.
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      1. Warum erhalte ich keine Meldung auf meine E-Mail, wenn ich Antwort auf meine Anfrage vorliegt?

      2. Wie gesagt, ich bin Anfänger un lerne mittels ein Buch PHP und versuche die dort angegebenen Beispiele durchzuarbeiten, da ich diese verstehen möchte.

      Ich habe aber jetzt die Befehle:

      error_reporting(-1);
      ini_set('display_errors', true);


      gleich hinter <?php eingebaut.

      Wo kann ich nun der Fehlerlog ansehen? Auf dem Bildschirm erscheint immer noch nur der echo-Befehl und kein error oder debug o.ä.

      Natürlich werde ich das Befehl mit contents() mir mal auch ansehen, aber ich wurde gerne die Schritte gemäß Buch durchlaufen, auch wenn diese nicht optimal sein sollten. Und da , wenn ich nicht weiter komme, wäre Hilfe vom Euch sehr hilfsreich.

      Da das Beispiel sehr klein ist eignet sich diese kaum für EVA-Prinzip oder?

      Kommentar


      • #4
        Zitat von Thundersax Beitrag anzeigen
        Da das Beispiel sehr klein ist eignet sich diese kaum für EVA-Prinzip oder?
        Egal wie klein das Beispiel ist, das EVA-Prinzip funktioniert immer.

        Zitat von Thundersax Beitrag anzeigen
        Auf dem Bildschirm erscheint immer noch nur der echo-Befehl und kein error oder debug o.ä.
        Rufst du die Datei überhaupt mit PHP auf?

        Zitat von Thundersax Beitrag anzeigen
        $file1="/firstaid-kle/Test1/count.txt";
        Halte ich für wenig wahrscheinlich, dass die Datei so angelegt werden kann. Da müssen mindestens die Deteiberechtigungen stimmen und der Pfad existieren (fopen() legt m.W.n. keine Verzeichnisse an), dazu wissen wir aber zu wenig von deinem System.

        Kommentar


        • #5
          Hallo Dormilich,

          Selbstverständlich rufe ich die Datei auf mit

          firstaid-kle/Test1/akt4.php

          Der Pfad existiert, da ich die php-datei aus dem gleichen Pfad aufrufe. Der Ordner ../Test1 hat die Dateiattribute 777, also damit auch Schreibrechte auf allen Ebenen.
          Ich will kein Ordner anlegen sondern ein Datei "count.txt" in dem Ordner ..../Test1
          Ich arbeite Clientseitig mit Linux Mint Cinamon und auf dem HE-Server. Ich meine die haben Apache.

          Kommentar


          • #6
            Zitat von Thundersax Beitrag anzeigen
            Selbstverständlich rufe ich die Datei auf mit

            firstaid-kle/Test1/akt4.php
            Per http oder direkt im Browser?

            Kommentar


            • #7

              Hallo Dormilich,
              Ich gebe in Browser (Firefox) in der Zeile wo http://www....... kommt das obige Zitat ein, ohne http://www..... : Ich denke dass Browser automatisch http://www.... von sich aus einsetzt oder ist es ein Unterschied zwischen beiden Aufrufe.

              Danke.

              Kommentar


              • #8
                Was für ein Zitat?

                Kommentar


                • #9
                  Zitat von Thundersax Beitrag anzeigen
                  ohne http://www..... : Ich denke dass Browser automatisch
                  Nein natürlich nicht!

                  Du solltest Dich erstmal dringend mit Netzwerken und Webanwendungen prinzipiell beschäftigen. und Dir mal irgendwo durchlesen wie das mit PHP generell funktioniert. Steht auch sicher in Deinem Buch drin.

                  PHP Scripte können entweder in der Kommandozeile ausgeführt werden (also ohne Browser) oder auf dem Server, was die Variante ist auf die man mit dem Browser zugreift. Du must Dir also dazu auf Deinem Rechner einen Webserver installieren und für den Einsatz von PHP vorbereiten. Sowas sollte auch in Deinem Buch stehen.

                  Kommentar


                  • #10
                    Hallo ,
                    vielen Dank für eure wertvolle Tipps.

                    Hallo Messer 1001,
                    das habe ich gemacht (mit Webserver). Aber ich woßte nicht, dass man PHP auch als Kommando ausführen kann. Das steht auch nicht in mein Buch und das wurde mir auch nicht nutzen.
                    Inzwischen ist das Problem geklärt.



                    Kommentar

                    Lädt...
                    X