Michael W.: Variablen definieren

Hallo,

Ich habe hier ein kleines Grundproblem:

$datei = 'name.txt.';
ich möchte jetzt die name.txt ein wenig varieren, je nach dem was der user im menü aswählt

$datei = $server."/".$user.".log";
nur so klappt das nicht. sollte es klappen oder ist da allgemein ein grundfehler drin ?

Danke

  1. Hallo,

    was klappt denn nicht? Welchen Wert hat $datei dananch oder kommt eine Fehlermeldung?

    In den beiden Zeilen seh ich jedenfalls mal keinen Fehler.

    Viele Grüße,
    Jürgen

    1. es passiert bei der zweiten lösung garnichts.
      wodran leigt das denn ?
      aber die schreibweise stimmt oder wie ?

      1. schreib doch mal hinter die 2. Lösung echo $datei, da sollte dann das drinstehen, was Du vorher in die Variable einliest.

        Bei mir führt das hier:
        $server='ab';
        $user='xy';
        $datei = $server."/".$user.".log";
        echo $datei;

        zu dem Ergebnis:
        ab/xy.log

        so wie es sich gehört!

        Wenns immer noch nicht klappt dann eig doch mal den nQuelltext her, vielleicht ist woanders ein Fehler drin.

        1. <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
          <title>Hardwareanalyse</title>
          </head>

          <body>
          <?php
          $a = "USER=";
          $b = "SERVER=";
          $c = " Processor: ";
          $server='fra';
          $user='woelkmi';
          $datei = $server."/".$user.".txt";
          echo $datei;
          for($i=0;$i<count($datei);$i++)
            {
            if(eregi($a,$datei[$i])) $gz1 = $datei[$i];
            if(eregi($b,$datei[$i])) $gz2 = $datei[$i];
            if(eregi($c,$datei[$i])) $gz3 = $datei[$i];
            }
          ?>
          <div align="left">
            <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
              <tr>
                <td><?php echo $gz1; ?></td>
              </tr>
              <tr>
                <td><?php echo $gz2; ?></td>
              </tr>
              <tr>
                <td><?php echo $gz3; ?></td>
              </tr>
            </table>
          </div>

          </body>

          </html>

          http://mitglied.lycos.de/djwoelk3/test/zeile/zeile_auslesen.php
          http://mitglied.lycos.de/djwoelk3/test/zeile/fra/woelkmi.txt

          es muss doch gehen !

          1. Geht doch.
            Das wird ausgegeben: fra/woelkmi.txt
            Ist das nicht das erwünschte?

            Nur count($datei) und $datei[$i] kann nicht funktionieren, da $datei kein Array ist.
            Man kann zwar mit explode $datei in ein Array verwandeln, aber nach welchen Kriterien denn?

            1. ich habs

              <?php
              $a = "USER=";
              $b = "SERVER=";
              $c = " Processor: ";
              $server = 'fra';
              $user = 'woelkmi';
              $datei2 = $server."/".$user.".txt";
              $datei = file ($datei2);
              for($i=0;$i<count($datei);$i++)
                {
                if(eregi($a,$datei[$i])) $gz1 = $datei[$i];
                if(eregi($b,$datei[$i])) $gz2 = $datei[$i];
                if(eregi($c,$datei[$i])) $gz3 = $datei[$i];
                }
              ?>

              :)

              1. nochmal ne frage für was steht das hier:
                for($i=0;$i<count($datei);$i++)

                und das hier:
                if(eregi($a,$datei[$i])) $gz1 = $datei[$i];

                ??

                Danke

                1. for($i=0;$i<count($datei);$i++)

                  das durchläuft jedes einzelne Teil des Arrays

                  if(eregi($a,$datei[$i])) $gz1 = $datei[$i];

                  und das sucht, ob in diesem Teil die Zeichenkette, die in $a steht, vorkommt.

                  ??

                  !!

                  Danke

                  Bitte

          2. Hallo,

            $datei = $server."/".$user.".txt";
            echo $datei;
            for($i=0;$i<count($datei);$i++)
              {
              if(eregi($a,$datei[$i])) $gz1 = $datei[$i];
              if(eregi($b,$datei[$i])) $gz2 = $datei[$i];
              if(eregi($c,$datei[$i])) $gz3 = $datei[$i];
              }

            $datei ist doch ein String und kein Arrray.
            Wills Du aus der Datei bestimmte Werte auslesen? Dann mußt Du diese auch zum lesen öffnen und auslesen.

            Schönen Gruß

            Rainer

      2. Moin Michael

        es passiert bei der zweiten lösung garnichts.

        was sollte denn passieren?

        aber die schreibweise stimmt oder wie ?

        Nein, gar nicht wird gar nicht zusammen geschreiben.
        Was denn Code angeht, wenn es keinen Parser-Error gibt wird sie schon stimmen.

        Wenn Du Dir zur Fehlersuche Werte von Variablen ausgeben lassen möchtest schau mal hier nach

        http://www.php.net/manual/en/function.var-dump.php
        http://www.php.net/manual/en/function.print-r.php

        Viele Grüße

        Stefan