Ankündigung

Einklappen
Keine Ankündigung bisher.

string und variablenwert in Datei schreiben

Einklappen

Neue Werbung 2019

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

  • string und variablenwert in Datei schreiben

    Hallo Community,

    mein PHP-Skript soll mittels "fwrite" eine Datei erstellen, welche je Zeile sowohl ein festdefinierten String wie auch den Wert eine "$_POST" Variable enthält.
    Des weiteren wird in eine weitere Zeile ebenfalls ein String geschrieben, gefolgt von einem Array, welches mittels "implode" in einen String mit Kommas umgewandelt wird.

    Mein bisheriger Ansatz:

    PHP-Code:
    <?PHP
    $file 
    fopen("$_POST['hostname']-test.txt""w");
    if(!
    $file)
    {
      echo 
    "File can not be opened or created";
      exit();
    }
    flock($fileLOCK_EX);
    fwrite ($file"implode(',', $_POST['contactgroup'])");
    fwrite ($file"contact_groups '$values_contactgroups'\n";
    fclose($file);
    ?>
    Ich habe die Vermutung, dass sich bei meinem Code einige Fehler eingeschlichen haben.

    Wäre für Hilfe dankbar.


  • #2
    Gibt es denn ein konkretes Problem?
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      string und variablenwert in Datei schreiben

      Dreh´ bitte das Error-Reporting hoch und schau´ dir die Fehler an, um diese dann zu beheben.

      Bereits in der ersten Zeile wird dir ganz sicher ein Fehler um die Ohren gehauen.
      Delirius

      PHP - Grundlagen / PDO - Tutorial / PDO - Dokumentation

      Kommentar


      • #4
        Ich habe meinen gesamten Code etwas umgebaut. Beim ausführen bekommen ich lediglich den Fehler "unexpected T_VARIABLE on line 3".

        Anbei mein gesamter Code:
        PHP-Code:
        <?PHP
        function write_hostfile()
        {
            
        $define "define host {\n";
            
        $use_host "use generic-host\n";
            
        $hostname "host_name "$_POST['hostname']"\n";

            
        $values_hostgroups implode(','$_POST['contactgroup']);
            
        $hostgroups "hostgroups '$values_hostgroups'\n";
            
            
        $alias "alias "$_POST['alias']"\n";
            
            
        $values_contactgroups implode(','$_POST['contactgroup']);
            
        $contactgroup "contact_groups "$values_contactgroups"\n";
            
        $ip "address "$_POST['ip']"\n";
            
        $checkhostalive "check_command check_host_alive\n";
            
        $checkcommand "check_command "$value"!"$value2_converted"\n";
            
            
        $parent "parents "$_POST['parent']"\n";
            
        $max_check "max_check_attempts 5\n";
            
            
        $defineservice "define service{\n";
            
        $use_service "generic-service\n";
            
            
        //Parameter
            
                
            //create host_cfg
            
        $file fopen("test$_POST['hostname']-test.txt""w");
            if(!
        $file)
            {
                echo 
        "File can not be opened or created";
                exit();
            }
            
            
        flock($fileLOCK_EX);
            
        fwrite ($file"define host {\n");
            
        fwrite ($file"use generic-host\n");
            
        fwrite ($file$hostname);
            
        fwrite ($file$hostgroupstring);
            
        fwrite ($file$alias);
            
        fwrite ($file$contactgroup);
            
        fwrite ($file$ip);
            
        fwrite ($file$checkcommand);
            
        fwrite ($file$parent);
            
        fwrite ($file$max_check);
            
        fwrite ($file"\n");
            
        fwrite ($file"\n");
            
            for(
        $i;$i<count($command_in_hostfile[0]); $i++)
            {
                
        fwrite ($file$defineservice);
                
        fwrite ($file$use_service);
                
        fwrite ($file$_POST['host_select']);
                
        fwrite ($file"service_description\n");
                
        fwrite ($file$_POST['$command_in_hostfile[0][$i]']"!"$_POST['$command_in_hostfile[1][$i]']);
                
        fwrite ($file"}\n");
                
        fwrite ($file"\n");
            }    
         
        fclose($file);
        }
        ?>
        Wenn der Fehler beim ersten Aufruf von "fwrite" aufgetaucht wäre hätte ich es verstanden, doch ich weiß aktuell nicht wo ich bei den Zuweisungen der Variablen fehler hab.

        Kommentar


        • #5
          PHP-Code:
          $hostname "host_name "$_POST['hostname']"\n"
          ...das kann nichts werden!
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #6
            Habe ich mir fast gedacht, aber ich hab keine bessere Lösung bisher.

            Ich hab folgendes vor.

            Es soll die möglichkeit gegeben sein unterschiedliche Dateien zu bearbeiten. die vorgegebene Syntax des Programmes ist:

            "host_name test-host1"

            Wobei der Hostname "test-host1" variabel bleiben muss da sich dieser Hostname je nach Host ändert.

            Ich wähle den Hostnamen vorab über ein Dropdown Menu.

            Wie kann ich dies sonst realisieren?

            Kommentar


            • #7
              http://php.net/manual/de/language.operators.string.php

              Da fehlt was
              Relax, you're doing fine.
              RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

              Kommentar


              • #8
                @VPh:

                Stimmt! Habs geändert und werde es dann mal testen.

                Aktuell läuft es bis zum "fopen" ohne Fehler.

                Kommentar


                • #9
                  Warum das nicht geht, steht ebenfalls oben bei dem Link. Tipp. String-Interpolation funktioniert mit assoziativen Arrays nicht (so).

                  Kommentar


                  • #10
                    @Tropi:
                    danke für den Tipp werd mir´s durchlesen.

                    Da sich nach dem Umbau meines Skriptes Fehler mit den Variablen definitionen ergeben haben, werde ich mich erst einmal darum kümmern.

                    Kommentar

                    Lädt...
                    X