phpbar.de logo

Mailinglisten-Archive

[php] Funktionen zentral ablegen

[php] Funktionen zentral ablegen

Oliver Grube (_(at)_work) oliver.grube_(at)_it-secure.de
Thu, 19 Oct 2000 11:56:37 +0200


Hallo Thorsten,

>Wir möchten ein größeres Projekt realisieren und möchte jetzt
>Standardroutienen zum lesen/schreiben/ändern usw. zentral auf unserem
Server
>ablegen.
>Als include path ist auf dem Server nichts eingestellt. Welches
Verzeichnis
>nimmt er dann als Root-Verzeichnis?
>
>Struktur der Verzeichnisse
>
>Hier liegen die PHP-Dateien, die auf die zentralen Routienen zugreifen
>sollen:
>
>/usr/local/etc/httpd/vhosts/domain.de/php
>
>Wo sollte am sinnvollsten und sichersten in zentralen Routienen
abgelegt
>werden?


Wenn ich deine Verzeichnisstruktur richtig deute, dann wäre
/usr/local/etc/httpd/vhosts/<Zentrale funktionen> zum Beispiel ein gutes
Verzeichnis.

Um zentral Funktionen zu nutzen, gehe ich wie folgt vor:

1. Ich speichere alle Pfade und Kofigurationsoptionen in einer Textdatei
im Sinne von:


---snip------snip------snip------snip------snip------snip------snip-----
-snip------snip---
#
# Alle Variablen werden in das Feld g_var[Variablenname]=[Variablenwert]
eingelesen.
# Die Parameter werden in g_typ[Variablenname]=[Typ] und in
g_desc[Variablenname]=[Beschreibung] eingelesen
#
# Typen:
# IP = Format einer IP Adresse
# TX = Text
# IN = Integer
# BO = Boolean / logisch
# PW = Passwort
#
#Format:
#
# Variablenname|Variablenwert|Typ|Beschreibung
#
# Datenbank
#
db_server|localhost|IP|IP Adresse des db-Servers
db_maintable|firma|TX|Name der Datenbank
db_master|masterdb|TX|Name des Administrators
db_master_pwd|itsecure|PW|Passwort des Administrators
db_user|admin|TX|Name des Standardusers
db_user_pwd||PW|Password des Standardusers
#
# Einstellungen
#
admin|1|BO|Administratormodus
bossid|1|IN|ID des Bosses, er kann jeden und alles löschen und Editieren
ln|de|TX|Sprache
/mein/datei/pfad/|incpath|TX|Pfad zur Includedatei
[..]
---snip------snip------snip------snip------snip------snip------snip-----
-snip------snip---



2. Ich benutze eine Funktion, die in einer Datei "func_init.php3" steht,
um diese zentralen Variablen einzulesen:



---snip------snip------snip------snip------snip------snip------snip-----
-snip------snip---
[..]
//Einlesen der Configdatei
function fn_global_read_config($dateiname="variablen.txt") {
	if(file_exists($dateiname)) {
		$fd = fopen( $dateiname, "r" );
		$all = fread( $fd, filesize( $dateiname ) );
		fclose( $fd );
	} else {
		echo "Datei $dateiname existiert nicht!";
	}
$all= split("\n",$all); 				// Formatierungsproblemen aus dem Weg gehen
while (list( $key, $zeile ) = each( $all )) {
if (substr($zeile,0,1) != "#") { 			// Zeilen mit # ignorieren
	list($varname,$varinhalt,$vartyp,$vardesc) = split('\|',$zeile);
	$g_var[$varname]=$varinhalt;
	$g_typ[$varname]=$vartyp;
	$g_desc[$varname]=$vardesc;
	}
}
[..]
---snip------snip------snip------snip------snip------snip------snip-----
-snip------snip---




3. Am Ende dieser Funktion habe ich die globalen Variabeln in einem
Array g_var, welches ich nun für
das PHP-Dokument nutze...




---snip------snip------snip------snip------snip------snip------snip-----
-snip------snip---
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">


");
[..]
---snip------snip------snip------snip------snip------snip------snip-----
-snip------snip---




Ich weiss jetzt nicht, in wieweit das an Deiner Frage vorbeigeht,
beziehungsweise sie ergänzt und vertieft, aber ich hoffe, dir geholfen
zu haben...


Mit freundlichen Gruessen,

Oliver Grube


* Reverse Hacking: Das root-Passwort ist "./mmG8-n", finde den passenden
Rechner...
********************************************
 iT_SEC - enabling trusted ebusiness
********************************************

iT_SEC Deutschland GmbH
Dünner Straße 247, 41066 Mönchengladbach
Telefon: 02161/6897-0, Fax: -199
http://www.de.it-sec.com

Wir freuen uns auf Ihren Besuch auf der

infosecurity 2000 in Frankfurt
vom 31.10.- bis 2.11.2000, Halle 6

Systems 2000 in München
vom 6.11.-10.11.2000 Halle C3. 121



php::bar PHP Wiki   -   Listenarchive