Ankündigung

Einklappen
Keine Ankündigung bisher.

ini wird gelesen, aber wie kann ich die Daten verarbeiten?

Einklappen

Neue Werbung 2019

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

  • ini wird gelesen, aber wie kann ich die Daten verarbeiten?

    Guten Morgen Zusammen,

    ich möchte gern auf meiner Website ein ini hochladen lassen und diese dann auslesen. Das klappt soweit auch ganz gut, aber wie kann ich bspw. die gelesenen Werte dann in bestimmt Eingabe Felder schreiben? Der Nutzer soll also entweder die Daten eingeben oder aber eine ini hochladen können worin die Daten stehen.

    ini Aufbau
    Code:
    [AUSWAHL]
    NUMMER=1
    [AUSWAHL_1]
    WERT=1
    .
    .
    .
    [AUSWAHL_2]
    WERT=2
    .
    .
    .
    Wie man sieht, gibt es sowas wie eine "Verzweigung" in der INI. Falls NUMMER=1 dann sollen die Werte aus Baum (mehrere) gelesen werden und in Eingabefelder gesetzt werden.

    So lese ich die ini und lasse Sie mir anzeigen:
    PHP-Code:
    <?php
    // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
    // of $_FILES.

    $uploaddir '/opt/lampp/temp/';
    $uploadfile $uploaddir basename($_FILES['userfile']['name']);

    echo 
    '<pre>';
    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
        echo 
    "Datei ist gültig und Upload erfolgreich!\n";
    } else {
        echo 
    "Upload fehlgeschlagen!\n";
    }
    print_r($_FILES);
    $ini_array parse_ini_file("test.ini"true);
    print_r($ini_array);
    print 
    "</pre>";
    ?>
    Ist aus einem Tutorial.

    Danke für eure Hilfe!


  • #2
    Indem du auf das Array zugreifst .. ?
    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

    Kommentar


    • #3
      Das klappt aber leider nicht
      Hab es schon nach diversen Anleitungen versucht, aber vllt stelle ich mich noch etwas seltsam an.
      Hast du einen Code Snippet für mich? Wäre klasse

      Kommentar


      • #4
        PHP-Code:
        <?php 
        // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead 
        // of $_FILES. 

        $uploaddir '/opt/lampp/temp/'
        $uploadfile $uploaddir basename($_FILES['userfile']['name']); 

        echo 
        '<pre>'
        if (
        move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
            echo 
        "Datei ist gültig und Upload erfolgreich!\n"
        } else { 
            echo 
        "Upload fehlgeschlagen!\n"


        $ini_array parse_ini_file("test.ini"true); 
        var_dump($ini_array['AUSWAHL']['NUMMER']); 
        # $ini_array['AUSWAHL']['NUMMER'] ist der zugriff

        print "</pre>";
        Beschäftige dich besser erst mit Grundlagen.
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar


        • #5
          Was gibt denn dein Skript aus zwischen den <pre>-Tags?

          Kommentar


          • #6
            Das der Upload erfolgreich war und dann den Inhalt der ini. Also dahingehend passt das

            Kommentar


            • #7
              Hast Du tr0ys letzten Beitrag gelesen? Er hat Deinen Code mit der Lösung vervollständigt.
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                Bingo das wars Danke vielmals ... nun zeigt er mir sowas an

                Code:
                string(3) "222"
                Die 222 stimmt das ist der Wert, aber was ist das "string(3)" vorher und vorallem wie bekomme ich das weg?

                Kommentar


                • #9
                  Zitat von Pinockel Beitrag anzeigen
                  Bingo das wars Danke vielmals ... nun zeigt er mir sowas an

                  Code:
                  string(3) "222"
                  Die 222 stimmt das ist der Wert, aber was ist das "string(3)" vorher und vorallem wie bekomme ich das weg?
                  Indem du versuchst den Code zu verstehen! Zeile für Zeile und wenn was unklar ist schaust du bei php.net nach was die Funktionen machen...

                  Kommentar


                  • #10
                    Zitat von erc Beitrag anzeigen
                    Indem du versuchst den Code zu verstehen! Zeile für Zeile und wenn was unklar ist schaust du bei php.net nach was die Funktionen machen...
                    ^ this
                    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                    Kommentar


                    • #11
                      Ja okay habs es verstanden und nun klappts. Musste ja nur das "var_dump" entfernen und nun stimmen die Werte. Ins Texfeld kommen die nun auch

                      Noch eine kleine Frage...
                      Wenn ich zweimal den gleichen Parameter in der INI stehen habe, kann ich dann irgendwie wählen, dass nur der erste genommen wird?
                      Hintergrund ist das ich die ini geliefert bekomme und da ein Fehler drin ist. Beim ersten auftreten von "WERT" ist alles okay, aber am Ende kommt sinnloser nach mal der Parameter "WERT" und der ist leer.
                      Somit weiss er bestimmt nicht welchen Wert er für "WERT" nehmen soll.

                      Kommentar


                      • #12
                        Standard konforme ini-Dateien übersetzt PHP indem der letzte Wert der gesetzt wird als Key-Value benutzt wird.

                        Code:
                        [foo]
                        bar[] = baz
                        bar[] = boo
                        dürfte ein Array erzeugen ( ist aber kein ini standard format ), probiers aus.
                        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                        Kommentar


                        • #13
                          Ich lasse die ini einfach abändern, damit es funktioniert. Denke ist die sauberste Lösung und sogar machbar.

                          Was mich interessiert. Ist es eigentlich möglich, ein Array an ein C-Programm zu übergeben? Ich lasse ein Programm durch die Website steuern mit dem Befehl wird es dann ausgeführt.

                          PHP-Code:
                          passthru('/opt/lampp/htdocs/xampp/TEST); 
                          Natürlich noch ohne Parameter. Das kommt später.
                          In dem Formular sind die passenden Parameter bzw werden die eingeben. Einer sollte eigentlich ein Array mit int Werten sein, aber das kann ich ja nicht als ganzes übergeben, sondern nur die einzelnen Werte bzw. den ganzen String. Bspw. "1,3,6,8,10". Alle durch Komma getrennt.
                          Diesen müsste ich dann sicher im Programm zerlegen, richtig?

                          Danke für eure tolle Hilfe bis jetzt!

                          Kommentar


                          • #14
                            Nimm nicht irgendein eigenes Format für den Datenaustausch mit anderen Applikationen, sondern z.B. JSON, was für Arrays besonders einfach ist.
                            PHP-Klassen auf github

                            Kommentar

                            Lädt...
                            X