Entweder Ziffern oder Text auslesen?

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Entweder Ziffern oder Text auslesen?

    Hallo zusammen,

    das php-dateien-system geht mir langsam auf'n Senkel, den ich hab wieder ein Problem:

    Der inhalt der Datei "site_function.txt" sieht folgendermasen aus:

    Source Code

    1. 1
    2. 1
    3. 1
    4. Fipsi's Server
    5. dat is fipsis server
    6. /
    7. http://localhost
    8. 1
    9. 1
    10. 1


    die datei, die das ausliest:

    Source Code

    1. // Seitenkonfigurationen öffnen
    2. $conf_datei = "data/templates/txt-dateien/site_function.txt";
    3. $array_site_function = file($conf_datei);
    4. // Seite aktiv?
    5. if ($array_site_function[0] == "1")
    6. {
    7. $seite_aktiv = "1";
    8. }
    9. else
    10. {
    11. $seite_aktiv = "0";
    12. }
    13. // Rechts aktiviert?
    14. if ($array_site_function[1] == "1")
    15. {
    16. $rechts_aktiviert = "1";
    17. }
    18. else
    19. {
    20. $rechts_aktiviert = "0";
    21. }
    22. // Registration aktiviert?
    23. if ($array_site_function[2] == "1")
    24. {
    25. $regi_aktiviert = "1";
    26. }
    27. else
    28. {
    29. $regi_aktiviert = "0";
    30. }
    31. // Titel der Seite
    32. $seiten_titel = $array_site_function[3];
    33. // Beschreibung der Seite
    34. $seiten_beschreibung = $array_site_function[4];
    35. // Verzeichnis der Software
    36. $verzeichnis_software = $array_site_function[5];
    37. // Domain
    38. $software_domain = $array_site_function[6];
    39. // Chat aktiv
    40. $chat_aktiv = $array_site_function[7];
    41. // Forum aktiv
    42. $forum_aktiv = $array_site_function[8];
    43. // Login aktiv
    44. $login_aktiv = $array_site_function[9];
    Display All


    wenn ich jetzt allerdings am end enciht das hier mit drin habe:

    Source Code

    1. $seite_aktiv = "1";
    2. $rechts_aktiviert = "1";
    3. $regi_aktiviert = "1";
    4. $chat_aktiv = "1";
    5. $forum_aktiv = "1";
    6. $login_aktiv = "1";


    dann werden die zahlen-variablen mit null beschrieben.

    wenn ich jetzt allerdings

    Source Code

    1. $conf_datei = "data/templates/txt-dateien/site_function.txt";
    2. $array_site_function = file($conf_datei);


    mit dem austausch:

    Source Code

    1. $conf_datei = file("data/templates/txt-dateien/site_function.txt", "r");
    2. $array_site_function = fgets($conf_datei);


    dann werden nur die zahlen-zeilen bis zu den ersten text-zeilen ausgelesen...
    doch wie kann ich das machen, dass beide arten, text und zahlen, ausgelesen werden?

    Ich danke schonmal

    LG

    Fipsi
  • Source Code

    1. // Seite aktiv?
    2. if ($array_site_function[0] == "1")
    3. {
    4. $seite_aktiv = "1";
    5. }
    6. else
    7. {
    8. $seite_aktiv = "0";
    9. }


    findest du die logik nicht etwas merkwürdig? wenn 1 dann 1 :D


    dein problem ist, das $array_site_function[0] eine zahl liefert und du sie mit string vergleichst
    $array_site_function[0] == 1
    so gehts wunderbar :whistling:
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.
  • hiho,

    nein, ganz hattest du leider nichr recht...
    ich musste nich die oberen drei wie die unteren amchen, sondern umgekehrt:

    Source Code

    1. <?php
    2. // Seitenkonfigurationen öffnen
    3. $conf_datei = "data/templates/txt-dateien/site_function.txt";
    4. $array_site_function = file($conf_datei);
    5. // Seite aktiv?
    6. if ($array_site_function[0] == 1)
    7. {
    8. $seite_aktiv = "1";
    9. }
    10. else
    11. {
    12. $seite_aktiv = "0";
    13. }
    14. // Rechts aktiviert?
    15. if ($array_site_function[1] == 1)
    16. {
    17. $rechts_aktiviert = "1";
    18. }
    19. else
    20. {
    21. $rechts_aktiviert = "0";
    22. }
    23. // Registration aktiviert?
    24. if ($array_site_function[2] == 1)
    25. {
    26. $regi_aktiviert = "1";
    27. }
    28. else
    29. {
    30. $regi_aktiviert = "0";
    31. }
    32. // Titel der Seite
    33. $seiten_titel = $array_site_function[3];
    34. // Beschreibung der Seite
    35. $seiten_beschreibung = $array_site_function[4];
    36. // Verzeichnis der Software
    37. $verzeichnis_software = $array_site_function[5];
    38. // Domain
    39. $software_domain = $array_site_function[6];
    40. // Chat aktiv
    41. if ($array_site_function[7] == 1)
    42. {
    43. $chat_aktiv = "1";
    44. }
    45. else
    46. {
    47. $chat_aktiv = "0";
    48. }
    49. // Forum aktiv
    50. if ($array_site_function[8] == 1)
    51. {
    52. $forum_aktiv = "1";
    53. }
    54. else
    55. {
    56. $forum_aktiv = "0";
    57. }
    58. // Login aktiv
    59. if ($array_site_function[9] == 1)
    60. {
    61. $login_aktiv = "1";
    62. }
    63. else
    64. {
    65. $login_aktiv = "0";
    66. }
    67. ?>
    Display All


    das funzt:)
  • Fipsi wrote:

    ich musste nich die oberen drei wie die unteren amchen, sondern umgekehrt:

    also wenn ich das hier sehe

    Source Code

    1. // Seite aktiv?
    2. if ($array_site_function[0] == 1)
    3. {
    4. $seite_aktiv = "1";
    5. }
    6. else
    7. {
    8. $seite_aktiv = "0";
    9. }

    dann steht da nichts anderes als wenn 1 dann 1 sonst 0
    da kannst du ja schon direkt zuweisen
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.
  • Fipsi wrote:

    vince wrote:

    Ich würde dir vorschlagen mit .ini Dateien zu arbeiten. Das ist übersichtlicher und einfacher zu handeln.

    Die Funktion zum parsen parse_ini_file stellt php schon bereit.


    hab cih jez zu spät gesehen:

    also beim überlesen hab ich nicht ganz durchgeblickt, abe rich glaube, ich habe verstanden, wie das ungefähr läuft... ich werde da mal reinschauen, vielen Dank dir


    also ich hab das gestern mal gemacht, es funktioniert zwar, allerdings bekomm ich bei jeder stelle von der funktion diese fehlermeldung:
    "Notice: Use of undefined constant speicherort - assumed 'speicherort' in "
    Was stimmt da also nich...?

    shureg wrote:

    Fipsi wrote:

    ich musste nich die oberen drei wie die unteren amchen, sondern umgekehrt:

    also wenn ich das hier sehe

    Source Code

    1. // Seite aktiv?
    2. if ($array_site_function[0] == 1)
    3. {
    4. $seite_aktiv = "1";
    5. }
    6. else
    7. {
    8. $seite_aktiv = "0";
    9. }

    dann steht da nichts anderes als wenn 1 dann 1 sonst 0
    da kannst du ja schon direkt zuweisen


    ja, eigentlich schon, aber irgendwie funktioniert das nich, keine ahnung wieso... :?: :?:
  • nix fehlermeldung? ok, auch gut^^ das erklärt zumindest, warum das geht^^

    config.ini

    Source Code

    1. seiten_titel = Fipsi's Server
    2. seiten_beschreibung = dat is Fipsi's Server
    3. speicherort = http://localhost/
    4. seite_aktiv = 1
    5. forum_aktiv = 1
    6. rechts_aktiv = 1
    7. regi_aktiv = 1
    8. login_aktiv = 1
    9. chat_aktiv = 1


    funktionen.php

    Source Code

    1. <?php
    2. [...]
    3. // config.ini öffnen
    4. $config_daten = parse_ini_file("data/templates/config.ini");
    5. [...]
    6. ?>


    als Beispiel: header.php

    Source Code

    1. <?php
    2. echo "<div id=\"header\">";
    3. echo "<a href=\"" . $config_daten[speicherort] . "\">";
    4. echo "<div id=\"header_pic\">";
    5. echo "<img src=\"../pic/templates/header_pic.gif\">";
    6. echo "</div>";
    7. echo "<div id=\"header_titel\">";
    8. echo $config_daten[seiten_titel];
    9. echo "</div>";
    10. echo "<div id=\"header_beschreibung\">";
    11. echo $config_daten[seiten_beschreibung];
    12. echo "</div>";
    13. echo "</a>";
    14. echo "</div>";
    15. ?>
    Display All
  • Da $config_daten ein Array ist, musst du speichertort (Und generell die Keys von Arrays) in Anführungszeichen setzen. Ansonsten versucht php nämlich, die Konstante speicherort zu finden - und die existiert eben nicht.

    PHP Source Code

    1. <?php
    2. echo "<div id=\"header\">";
    3. echo "<a href=\"" . $config_daten["speicherort"] . "\">";
    4. echo "<div id=\"header_pic\">";
    5. echo "<img src=\"../pic/templates/header_pic.gif\">";
    6. echo "</div>";
    7. echo "<div id=\"header_titel\">";
    8. echo $config_daten["seiten_titel"];
    9. echo "</div>";
    10. echo "<div id=\"header_beschreibung\">";
    11. echo $config_daten["seiten_beschreibung"];
    12. echo "</div>";
    13. echo "</a>";
    14. echo "</div>";
    15. ?>
    Display All
    Jan Thurau
    Software and Systems Engineer
    janthurau.de

    [Blocked Image: http://www.pageheroes.com/media/image/pageheroes_logo.png] - We get your page working!