php script in eine andere datei per fwrite befehl hinein fügen

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

  • php script in eine andere datei per fwrite befehl hinein fügen

    hey ich möchte dieses script per fwrite oder etwas anderes in jede datei die geschrieben werden soll per script hineinkopieren
    PHP-Code:
    <?php

       
        
        $serialized_counterData 
    'a:6:{s:9:"yesterDay";s:10:"04-08-2007";s:7:"currDay";s:10:"01-01-

    2002";s:5:"toDay";i:2;s:6:"visits";i:0;s:4:"hits";i:2;s:11:"whoIsOnline";
    a:1:{s:9:"127.0.0.1";i:1009840268;}}'
    ;
        
        
    $counterData unserialize($serialized_counterData);
        if(
    $counterData['currDay'] != date('d-m-Y'))
        {
            
    $counterData['yesterDay'] = $counterData['currDay'];
            
    $counterData['currDay']   = date('d-m-Y');
            
    $counterData['toDay']   = 0;
        }
        
        if(!isset(
    $counterData['whoIsOnline'][$_SERVER['REMOTE_ADDR']]))
        {
            
    $counterData['visits']++;
            
    $counterData['toDay']++;
        }
        
        
    $counterData['hits']++;
        
    $counterData['whoIsOnline'][$_SERVER['REMOTE_ADDR']] = time();
        foreach(
    $counterData['whoIsOnline'] as $key => $time)
            if(
    $time 500 time()) unset($counterData['whoIsOnline']);
            
    $myData file_get_contents(__FILE__);
        
    $myData preg_replace('/\$serialized_counterData = \'.*\';/siU',
            
    '$serialized_counterData = \''.serialize($counterData).'\';'$myData);
        
    $myFile fopen(__FILE__'wb');
        
    fwrite($myFile$myData);
        
    fclose($myFile);
            echo(
    'Hits: '.$counterData['hits'].'<br />');
        echo(
    'Visiters: '.$counterData['visits'].'<br />');
        echo(
    'Yesterday: '.$counterData['yesterDay'].'<br />');
        echo(
    'Today: '.$counterData['toDay'].'<br />');
        echo(
    'Online: '.count($counterData['whoIsOnline']).'<br />');
        
    ?>
    Zuletzt geändert von terminatorxxl; 01.06.2008, 12:10.

  • #2
    Bahnhof!
    Schon von include gehört?
    Das wurde extra für solche Zwecke erfunden.

    Und brich bitte deinen Code um.
    Sonst hagelt es hier Mäcker!!
    Wir werden alle sterben

    Kommentar


    • #3
      ja aber genau das will ich nicht es soll ya für jede datei extra gezählt werden und nciht alle den selben counter status haben.-.-

      Kommentar


      • #4
        Das soll mal einer verstehen...
        Du willst das gleiche, aber nicht das gleiche!

        Mach doch erstmal ein paar Tutorials und stecke den Kopf in die Bücher. Danach weißst du dann was alles möglich ist und kannst dein Problem evt. selber lösen, zumindest besser formulieren.
        Wir werden alle sterben

        Kommentar


        • #5
          also ich mach es nochmal ausführlich
          ich möchte das dieses script in jeder datei eingebunden ist und zwar seperat weil das script dadurch die besucher für jede seite wo es eingebunden ist seperat zählt und nicht alle die selbe zahl an besuchern haben wenn ich es durch nen include befehl mache

          Kommentar


          • #6
            Und ich sage dir nochmal, dass dein Konzept daneben ist!

            Selbstmodifizierender Code in einer Webserverumgebung und dann auch noch ohne Locking ist Softwaretechnischer Selbstmord!

            Mache dich kundig.
            Meine Hilfe endet hier.

            Und brich endlich deinen Code um!!
            Zuletzt geändert von combie; 01.06.2008, 15:29.
            Wir werden alle sterben

            Kommentar


            • #7
              Du willst nen Besucherzähler pro explizierter Datei?

              Dann würde ich zum chCounter raten...

              Deine Idee ist so nicht umsetzbar..

              mfg
              ps: Bitte Code umbrechen..

              Kommentar


              • #8
                Moin,
                ich denke man kann das machen.
                Erweitere $counterData['hits'] zu einem array of array und verwende z.B. den Dateinamen als Index. Den kannst Du ermitteln aus dem $_SERVER[] Array.
                Und wichtig: beherzige den Vorschlag bezüglich Locking, siehe oben.

                Wilfried
                Die Macht der Presse spüren vor allem die Weintrauben.

                Kommentar


                • #9
                  Es ist schon durchführbar, aber wie gesagt nicht wirklich sinnvoll...
                  Dafür sind doch z.B. Datenbanken da und du könntest genausogut eine einzige ini- Datei nehmen statt so viele.

                  Kommentar


                  • #10
                    Original geschrieben von jmc
                    du könntest genausogut eine einzige ini- Datei nehmen statt so viele.
                    Das ist eine einzige Datei
                    Die Macht der Presse spüren vor allem die Weintrauben.

                    Kommentar


                    • #11
                      Nachschlag:
                      • Da ein Automat nicht automatisch die richtige Stelle finden kann, kann der Code auch nicht automatisch eingefügt werden.
                      • Redundant, weil der Code mehrfach eingefügt werden soll. Unwartbar!
                      • Das serialisierte Array soll in die aufgerufene Datei immer wieder eingefügt werden. Selbstmodifizierender Code ist im PHP Bereich Unsinn!
                      • Das fehlende Locking.

                      Diese Komination ist so grausam, dass man meines Erachtens nach mit Fug und Recht sagen darf:
                      DAS GEHT SO NICHT!

                      Klar könnte man Mittel und Wege finden das Vorhaben zu realisieren, aber dann MUSS man an den Grundfesten schütteln. Und das kann der TE scheinbar nicht. Ich glaube auch nicht, dass er den Code selber geschrieben hat.
                      Zuletzt geändert von combie; 01.06.2008, 16:50.
                      Wir werden alle sterben

                      Kommentar

                      Lädt...
                      X