Datei ändern per Script

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

  • Datei ändern per Script

    Hey Ihr,

    Wie kann ich es bewerkstelligen das ich folgende Datei mit einem Script ändern kann?

    Ich habe in der Datei Variablen fest geschrieben, wie zum Beispiel:

    Shopname
    Shopbetreiber
    Shopadresse
    Logo
    eMail1
    eMail2
    und noch weitere Variablen.

    Ich möchte mir nun ein Script schreiben mit dem ich die Variablen ändern kann ohne die Datei mit einem Editor zuöffnen.

    Wer kann mir dabei helfen?

    cu
    Gilbert
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    <?

    $filename = "blabla.php";



    If ($id=='SAVE')
    {
    echo "Save<BR>";
    $fd = fopen ($filename, "w+");
    fputs ($fd,stripslashes ($contents));
    }
    else
    {
    echo "read<BR>";
    $fd = fopen ($filename, "r+");
    $contents = fread ($fd, filesize ($filename));
    }

    fclose ($fd);
    echo stripslashes ($contents);
    ?>


    <form method="POST" action="<?=$PHP_SELF?>">
    <p><textarea rows="15" name="contents" cols="65"><?echo stripslashes ($contents);?></textarea></p>
    <input type="hidden" name="id" value="SAVE">
    <p><input type="submit" value="Abschicken" name="save"></p>

    </form>


    so ungefähr

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

    Kommentar


    • #3
      Wie lese ich die Variablen aus der Datei ein?
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        Weiß keiner wie ich die Variablen aus der Datei einlesen kann?
        *winks*
        Gilbert
        ------------------------------------------------
        Hilfe für eine Vielzahl von Problemen!!!
        http://www.1st-rootserver.de/

        Kommentar


        • #5
          also, wenn du in deinem File immer Datensatzweise abspeicherst und diese Daten wieder einlesen willst, dann solltest du den File öffnen, Zeilenweise einlesen und die Daten (getrennt durch ein bestimmtes Zeichen oder Zeichenkette) durch explode() wieder trennen -> dann hast du deine Variablen.
          Falls du DAS nicht wissen wolltest, solltest du dich genauer ausdrücken, WAS du mit "Variablen einlesen" meinst.

          Bye

          Kommentar


          • #6
            Hey BrainBug,

            Die Datei sieht so aus und heisst config.inc.php:
            <?
            // Shopname

            $title = "PHP-Shop Test";

            // Shopbetreiber

            $name = "Muster";
            $nachname = "Mustermann";
            $strasse = "Musterstrasse 1";
            $plz = "10000";
            $ort = "Musterstadt";
            $telefon = "030 - 12345678";
            $fax = "030 - 23456789";
            $email = "webmaster@domain.de";
            $sales = "webmaster@frettchen.com";
            $logo = "<img src='http://www.frettchen.com/images/ueberschriften/fanartikel.gif'>";

            // Schriftart

            $ff = "Comic Sans MS";

            // Schriftgöße

            $sg = "2";

            // Schriftfarbe

            $sf = "#000000";
            $sfa = "#000000"; // alink
            $sfl = "#000000"; // link
            $sfb = "#000000"; // vlink

            // Hintergrundfarbe

            $bgc = "#ffffff";

            // Tabellenhintergrundfarbe

            $tbg = "\"\"";

            // Tabellenrahmenfarbe

            $tbr = "\"\"";

            // Tabellenrahmen an(1) oder aus(0)

            $trb = "\"0\"";

            // Zellenhintergrundfarbe

            $zbg = "\"\"";
            ?>

            Nun will ich ein Installscript in PHP schreiben, mit dem ich die Variablen ändern kann ohne ein PHP-Editor zubenutzen.
            Einfach per Formular einlesen und per Formular wieder in die Datei speichern.

            cu
            Gilbert
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              warum willst du die config datei ueberhaupt in php? mach da doch ne kleine datenbank drauss die etwa so aus sieht:

              Muster
              Mustermann
              Musterstrasse
              10000
              Musterstadt
              030 - 12345678
              030 - 23456789
              webmaster@domain.de
              webmaster@frettchen.com
              http://www.frettchen.com/images/uebe.../fanatikel.gif

              jetzt weisst du genau in welcher zeile z.b. name nachname etc steht und liest das dann einfach mit fopen und fgets in dein script ein. Kannst es dann auch viel einfacher mit fwrite wieder veraendern...
              ansonsten muesstest du dein php configscript von oben bis unten mit fgets durchlaufen lassen und dann z.b.
              $text1=fgets($datei,50);
              $text2=substr($text1,0,5);
              if($text2="$name")
              {
              $name=substr($text1,10,strlen($text1)-1)
              }
              und das ganze auch fuer nachname strasse etc...ziemlich aufwendig
              ansonsten einfach
              $name=fgets($datei,1000)
              $nachname=fgets($datei,1000)
              etc.

              Kommentar


              • #8
                irgs das passiert mir immer weider *G*
                if($text2=="$name")
                wobei ich mir ncohnetmal sicher bin ob er das mit $name als variable sieht und nicht als text..also mach aus der 0 ne 1 oder 2 bei substr und kontrollier nur nach "name" etc...aber viiiel zu umstaendlich *G*

                Kommentar


                • #9
                  Weil ich die Variablen auch in anderen Scripten braucht und es danneinfacher ist per Variable das anzusprechen.
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    Original geschrieben von Nerrik
                    irgs das passiert mir immer weider *G*
                    if($text2=="$name")
                    wobei ich mir ncohnetmal sicher bin ob er das mit $name als variable sieht und nicht als text..also mach aus der 0 ne 1 oder 2 bei substr und kontrollier nur nach "name" etc...aber viiiel zu umstaendlich *G*
                    Hm... hab nicht alles gelesen, aber warum nicht gleich ohne Quotes? Wenn du's ganz type-safe haben willst, kannst ja auch

                    $text === $name

                    nehmen.


                    Oder wenn du es als statischen String und nicht als Variable haben willst eben in Single-Quotes:

                    $text == '$name'

                    [Editiert von Sky am 26-11-2001 um 20:08]

                    CAT Music Files

                    Kommentar


                    • #11
                      HI!


                      <?php

                      //datei.php durch deine config datei ersetzen
                      include ("datei.php");

                      if ($go=="write") {

                      $write_settings = "\$name=\"$form_name\";\n\$nachname=\"$form_nachname\";\n";
                      $fp_settings = fopen ("datei.php", "w");
                      fwrite ($fp_settings, $write_settings);
                      fclose($fp_settings);
                      echo "Datei wurde geändert";
                      }

                      else {

                      echo "<form action=$PHP_SELF method=post><input type=hidden name=go value=\"write\">Name:<input type=text name=form_name value=\"$name\"><br>Nachname<input type=text name=form_nachname value=\"$nachname\"><br><br><input type=submit name=submit value=speichern></form>";



                      }

                      ?>




                      sollte so eigentlich funzen.....
                      die datei muss allerdings mit 777 chmodded werden (chmod 777) für jede Variable musst du im Formular ein weiteres Feld machen, UND natürlich in $write_settings!



                      cya

                      Kommentar


                      • #12
                        Damit ließt er mir die Variablen ein und ersetzt sie wenn ich es speicher?
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          Original geschrieben von Wotan
                          Damit ließt er mir die Variablen ein und ersetzt sie wenn ich es speicher?


                          JA!


                          Im Formular sind als Values (vorgegeben) die Werte (die alten werte aus datei.php)....
                          Wenn das Formular abgeschickt wird, speichert er alle Werte...


                          cya

                          Kommentar


                          • #14
                            naja du kannst deine variablen von seitenabschnitt zu seitenabschnitt mit versteckten formularen verschicken wenn du die config datei zuerst aufrufst aber in der config datei selber die variablen fuer immer zu veraendern kommst du an die fopen variante nicht vorbei denn es steht ja dick fett im quelltext das der name=xyz ist
                            deshalb empfehle ich dir eine datenbank die bei jedem script aufgerufen wird um diese daten zu bekommen. Anders waere es wie gesagt umstaendlich.
                            MfG Nerrik

                            Kommentar

                            Lädt...
                            X