in eine datei schreiben

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

  • in eine datei schreiben

    hallo.

    ich hab folgendes problem. ich schreibe gerade einen poll(auf txt basis) den man über einen adminbereich konfigurieren kann. in dem adminbereich binde ich die datei config.inc.php ein. in dieser datei befinden sich angaben zur schriftart, grösse etc.. im adminbereich lasse ich mir die werte in einem textfeld ausgeben.

    wie schaffe ich nun z.b. den wert für die schriftfarbe an die entsprechende stelle in der config.inc.php zu schreiben?

    meine config.inc.php sieht wie folgt aus:

    PHP-Code:
    <?php

    $adminpass 
    "admin";

    $fontsize "2";
    $fontface "Verdana, Arial, Helvetica, sans-serif";
    $fontcolor "#FFFFFF";
    $linkcolor "#0000ff";
    $bgcolor "#0076A3";
    $bordercolor "#C0C0C0";
    $bordersize "0";
    $votebutton "Vote";


    ?>
    ich hoffe ich habe euch das nicht zu wirr erklärt!
    schonmal danke im vorraus!
    greetz subhead!

  • #2
    PHP-Code:
    <?php

    $InhaltNeu 
    "#FaFbFc";
    $WhichFile "config.inc.php";

    @
    $fp fopen($WhichFile,"r"); // File zum Lesen öffnen 
    if (!$fp) {
        print 
    "File $WhichFile doesn't exist<br>\n";
    } else {
        
    $fileok "ok";
        while (!
    feof($fp)) { 
            
    $zeilen[] = fgets($fp4096); // File zeilenweise in einen Array einlesen
        
    }
    }
    @
    fclose($fp);
    if (
    $fileok == "ok") {
        
    $fp fopen($WhichFile,"w"); // File zum Schreiben öffnen 
        
    for ($i=0;$i<sizeof($zeilen);$i++) { // Array lesen und Inhalte in File schreiben
            
    if (strpos($zeilen[$i], "fontcolor")) {  // Abfrage ob Zeile erreicht ist
                
    $zeile "$"."fontcolor = \"$InhaltNeu\";\n";
            } else { 
                
    $zeile $zeilen[$i]; // alten Zeileninhalt reinmalen            
            
    }
            
    fputs($fp$zeile);
        }
        
    fclose($fp);    
    }
    ?>

    Kommentar


    • #3
      vielen dank für deine schnelle hilfe!

      es hat alles super geklappt! echt vielen dank an dich! und noch einen schönen abend!

      Kommentar


      • #4
        hallo ich bin´s nochmal. ich habe da noch ein problem mit diesem script.

        wenn ich einen einzigen wert z.b. die schriftfarbe änder, klappt das auch super gut. wenn ich aber nun für jeden wert so ein script einfüge und anpasse, schreibt er mir die komplette config.inc.php an das ende der bestehenden config.inc.php.

        wie schaffe ich das das er mir mehrer alte werte mit den enuen werten überschreibt und nicht ans ende der config die gesamte config nochmal hineinschreibt.

        schon mal vielen dank im vorraus!
        mfg subhead

        Kommentar


        • #5
          ich habe damit jetzt noch ein wenig rum experimentiert. es geht wirklich immer nur bei einem wert! doch wie schaffe ich das auch mit mehreren werten?

          ich bin wirklich am verzweifeln!

          Kommentar


          • #6
            kann mir den wirklich keiner helfen? ich habe das problem leider immer noch nicht lösen können!

            Kommentar


            • #7
              PHP-Code:
              <?
              $WhichFile = "config.inc.php";

              $InhaltNEU[adminpass]   = "admin";
              $InhaltNEU[fontsize]    = "2";
              $InhaltNEU[fontface]    = "Verdana, Arial, Helvetica, sans-serif";
              $InhaltNEU[fontcolor]   = "#FFFFFF";
              $InhaltNEU[linkcolor]   = "#0000ff";
              $InhaltNEU[bgcolor]     = "#0076A3";
              $InhaltNEU[bordercolor] = "#C0C0C0";
              $InhaltNEU[bordersize]  = "0";
              $InhaltNEU[votebutton]  = "Vote";
              //$InhaltNEU[iswurscht] = "Wurscht";

              @$fp = fopen($WhichFile,"r"); // File zum Lesen öffnen 
              if (!$fp) {
                  print "File $WhichFile doesn't exist<br>\n";
              } else {
                  $fileok = "ok";
                  while (!feof($fp)) {
                      // File zeilenweise in einen Array einlesen um Inhalt zu sichern 
                      $backup[] = fgets($fp, 4096); 
                  }
              }
              @fclose($fp);

              // Inhalte haben wir jetzt gesichert

              if ($fileok == "ok") {
                  $fp = fopen($WhichFile,"w");         // File zum Schreiben öffnen 
                  for ($i=0;$i<sizeof($backup);$i++) { // Array (Sicherung)zeilenweise einlesen
                     $zeile = $backup[$i];             
                     reset($InhaltNEU);
                     while (list($feld, $inhalt) = each($InhaltNEU)) {
                        if (strpos($zeile, $feld)) { // ist zufälliger Weise was zu ändern ?
                            $zeile = "$"."$feld = \"$inhalt\";\n";
                            print"Bingo <i>$backup[$i]</i> wurde gegen <i>$zeile</i> geändert<br>";
                        }
                     }
                     fputs($fp, $zeile); // jetzt malen wir es in das File
                  }
                  fclose($fp);    
              }
              ?>

              Kommentar

              Lädt...
              X