• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Suche lösungsansatz: installieren von script

Status
Für weitere Antworten geschlossen.

Frank

Neues Mitglied
Hi Community.

Ich bastel gerade an einem php tool, welches dem Benutzer ermöglicht, alle möglichen Statistiken seiner Homepage anzuzeigen. Dazu habe ich eine Klasse geschrieben, die die Informationen über Besucher sammelt. Nun damit das ganze Funktioniert, muss die Klasse auf jeder Seite aufgerufen werden. Damit man nicht in jede Seite per Hand ein
PHP:
<?php include("class/stats.php"); $stats = new stats(); ?>
schreiben muss, dachte ich an eine art installation. Dabei wählt der Benutzer aus einem Menü seine Dateien aus und diese werden dann mittels dateioperationen geöffnet und an das Ende halt der Code eingefügt.
Mit dieser Lösung bin ich persönlich zufrieden, doch sie ist nicht wirklich effektiv.
Wenn der Benutzer seine PHP Dateien manuell editiert und dann hochlädt, bevor er die aktuelle Version heruntergeladen hat, ist die Seite zwar online, aber der enstprechende Code fehlt wieder. Somit würde irgendwann keine Seite mehr beachtet werden, weil kein Klassenaufruf mehr stattfindet.

Habt ihr eine bessere Idee, wie ich aufrufe der Seiten etc. mitschneiden kann?
Wäre für Ideen dankbar
 
Wenn ich das jetzt richtig verstehe, dann willst du einfach eine Möglichkeit, dass automatisch auf jeder Site die Klasse aufgerufen wird, selbst wenn der User den Code entfernt, den du vorher per FileOptions eingefügt hast, und dann die Datei hochlädt?
 
naja stell dir das so vor
Der Benutzer hat diese Datei
PHP:
<?php echo "hello world"; ?>
dann installiert er mein script das aus der datei das macht
PHP:
<?php echo "hello world"; ?>
<?php include("class/stats.php"); $stats = new stats(); ?>

Jetzt entscheided sich der Benutzer aber, was anderes in seine datei zu tun
PHP:
<?php echo "i love you world"; ?>
und lädt das hoch. Wenn er jetzt mein script nicht nocheinmal installiert, fehlt hier der klassenaufruf wieder.
 
Mmh... Ich glaube du kanns so etwas gar nichts erzwingen. Der User kann es jederzeit wieder löschen und selbst per PHP nen Boot auf dem Server zu installieren, sodass PHP auf der CMD-Line jede Datei durchgeht ist denke ich mal auch nicht sinnvoll, zumal das eh nur bei Linux- oder Root-Servern geht :neutral:

//EDIT: Du kannst aber auch nen Comment Block um den Code schreiben, sodass der User sieht, dass er das erst gar nicht löschen sollte.
 
das würde auch nichts bringen, da der User wahrscheinlich gar net in den Code guckt, bevor er i-was uploaded.
 
@ WannaBe:
Soweit ich Frank verstanden habe, kommt der Code erst rein, wenn er es geuploadet hat, und dann installiert hat.
Dann hat er auf seinem Rechner noch deîe uninstallierten Dateien.

@ Frank:
Du könntest den User iwie darauf hinweisen, nach der Installation, dass wenn er was ändern will, dass er die installierten Dateien xx und yy downloadet und erst dann uploadet.


MfG, matibaski
 
jup, oder dein Statsview überprüft jedes mal ob in den anderen Datein dein Codeteil och vorhanden ist.

Ps: ist dein Script kostenpflichtig? wenn nein würd ich es gerne haben :)
 
es wird nicht kostenpflichtig sein, aber noch ist es noch im ersten Stadium, ich habe noch nicht wirklich viel Code, sondern überlege noch viel was Umsetzung und Technik angeht
 
Zuletzt bearbeitet:
jup, oder dein Statsview überprüft jedes mal ob in den anderen Datein dein Codeteil och vorhanden ist.

Ps: ist dein Script kostenpflichtig? wenn nein würd ich es gerne haben :)
Will ja nicht spammen, aber ich will es auch :D
Würde gerne die Statistiken meiner Webseite(n) sehen.



MfG, matibaski
 
Hier habt ihr schoneinmal einen kleinen Vorgeschmack

os.gif


Mehr gibts aber leider noch nicht... ;)
 
Also, so wie ich das verstanden hab' geht es dir nur um den Klassenaufruf,
du könntest umständlich jede Datei in einen String einlesen und den auf dein
Zeug prüfen oder, ich weiß ja nicht wie du deine Dateien einbindest, unter den Aufruf den Klassenaufruf positionieren,
so hab ich es jedenfalls gemacht:

PHP:
<?php

$file = dirname(__FILE__) . "/modes/".$_GET['mode'].".php";

if (file_exists($file)) {
include($file);
}
else {
include "./modes/news.php";
}

// Klassenaufruf

klasse :: methode($_GET['mode'], time());

?>
So kann deine Klasse dann den aufgerufenen (bei mir) Mode weiterverarbeiten und hat auch die Zeit (time()) dabei.

Hoffe das hilft dir, kenn' deine Struktur ja nicht.
 
Du könntest jede Datei in der dein Script liegt in ne tabelle eintragen. wenn dann ne datei mit deinem script aufgerufen wird, überprüft dies ob es in jeder datei noch den entsprechenden eintrag gibt, wenn nein neu eintragen
 
das würde aber auf allen seiten die Geschwindigkeit runterziehen, immer öffnen, lesen, schreiben, schließen
 
Du könntest jede Datei in der dein Script liegt in ne tabelle eintragen. wenn dann ne datei mit deinem script aufgerufen wird, überprüft dies ob es in jeder datei noch den entsprechenden eintrag gibt, wenn nein neu eintragen

Wenn der User aber die Dateien aktualisiert, dann ist der Dateiname trotzdem noch in der Tabelle, aber der Code nicht in der Datei.

Frank, bezieht sich dein Post auf meinen?
 
ja und weil er noch in der tabelle ist, kann man ja dann neu schreiben
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben