Ankündigung

Einklappen
Keine Ankündigung bisher.

variablen includen

Einklappen

Neue Werbung 2019

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

  • variablen includen

    Moin,
    ich bin gerade an meinen ersten PHP versuchen und brauche etwas Hilfe .
    Ich möchte folgendes machen.

    Checken ob eine Datei vorhanen ist .
    PHP-Code:
    $file 'file.txt' ;

    if ( 
    file_exists $file ) )
    {
      echo   
    $file ' ist existent';
    }
    else
    {
      echo   
    $file ' ist nicht existent';

    Dies funktioniert auch.
    Nun mein zweiter Wunsch: ich möchte die Definition was $file ist aus einer weiteren Datei ziehen.
    Mein Versuch war
    PHP-Code:
    $file = include('welchefile.txt');

    if ( 
    file_exists $file ) )
    {
      echo   
    $file ' ist existent';
    }
    else
    {
      echo   
    $file ' ist nicht existent';

    in welchefile.txt steht file.txt
    Leider funktioniert das nicht es wird dann immer angezeigt file.txt1 ist nicht existent.
    was habe ich falsch gemacht ?

    gruß


  • #2
    http://php.net/manual/de/function.include.php

    beispiel fünf ist es glaub ich....

    Kommentar


    • #3
      Hallo,


      An den Anfang deines Scripts:
      PHP-Code:
      ini_set('display_errors'1);
      error_reporting(-1); 
      Damit lässt du dir alle Fehlermeldungen anzeigen.

      Und so kannst du dir den Inhalt von Variablen/Arrays/Objekten anzeigen lassen:
      PHP-Code:
      var_dump($file); 
      Habe noch nie eine .txt includet und bin überrascht wenn da wirklich der Wert übertragen wurde, aber ich empfehle dir trotzdem eher file_get_contents zu benutzen. (Wirkt weniger verwirrend, weil der Name ja sagt was man damit vorhat, Für mich.)


      Links:
      http://www.ermshaus.org/2012/09/php-...emals-ohne-dir
      http://php.net/manual/de/function.include.php
      http://php.net/file_get_contents
      http://php.net/manual/de/function.error-reporting.php


      Und, weil du noch Anfänger bist um dich gleich in die richtige Richtung zu lenken, der erste Satz ist nur Information, der Rest Empfehlung.
      Die mysql_* Erweiterung ist veraltet und wird in der nächsten PHP-Version entfernt.
      Durch Einsatz von mysqli_* oder PDO greifst du auf die modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen SQL-Injections wirken.
      Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
      Relax, you're doing fine.
      RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

      Kommentar


      • #4
        Zitat von VPh Beitrag anzeigen
        Habe noch nie eine .txt includet und bin überrascht wenn da wirklich der Wert übertragen wurde, aber ich empfehle dir trotzdem eher file_get_contents zu benutzen. (Wirkt weniger verwirrend, weil der Name ja sagt was man damit vorhat, Für mich.)
        Zögern ist hier nicht angebracht, Dateien auslesen natürlich immer mit file_get_contents statt include wenn es eben um's Auslesen und nicht Einbinden in den Code geht.
        PHP-Code:
        $file file_get_contents('welchefile.txt');

        if ( 
        file_exists $file ) )
        {
          echo   
        $file ' ist existent';
        }
        else
        {
          echo   
        $file ' ist nicht existent';

        Kommentar


        • #5
          Vielen Dank es funktioniert :P
          danke für den Tipp mit

          ini_set('display_errors', 1);
          error_reporting(-1);
          und
          dvar_dump($file);

          Kommentar


          • #6
            Nun mein zweiter Wunsch: ich möchte die Definition was $file ist aus einer weiteren Datei ziehen.
            hört sich für mich nach include an; gut, die datei sollte nicht .txt heissen, aber das ist schliesslich alles dem TE überlassen.
            solle er also bitte posten, ob in der datei
            Code:
            dateiname.irgendwas
            oder
            PHP-Code:
             <?php $file="dateiname.irgendwas";
            steht.
            //update: und alles unnötig

            Kommentar


            • #7
              moin, ich bin noch auf ein weiteres Problem gestoßen.
              unzwar wird der inhalt der Datei extern generriert und leider auch mit einem absatz.

              Nutze ich nun get_file_contents fügt er den inhalt + leerzeichen hinzu.
              welches dann beim check ob die datei vorhanden ist nicht funziuniert.

              Kommentar


              • #8
                $filename = trim($filename);

                Kommentar


                • #9
                  Zitat von monolith Beitrag anzeigen
                  $filename = trim($filename);
                  ^ ist wohl die pragmatischste Lösung. Auch wenn " meinedatei.txt" ein gültiger, wenn auch ungewöhnlicher, Dateiname wäre (beachte Leerzeichen am Anfang). Besser wäre es sicherzustellen, das der Dateiname korrekt und ohne Absatz in die Datei geschrieben wird. Falls das gar nicht möglich sein sollte, solltest du so genau wie möglich beim "trimmen" sein, z.B. nur die rechte Seite (rtrim()) und nur die Zeichen die tatsächlich automatisch mitgeschrieben werden. (Vermutlich \r\n, vergleiche dazu den 2. Parameter von rtrim()).

                  Kommentar


                  • #10
                    Danke

                    Kommentar

                    Lädt...
                    X