19.12.2006, 13:22 (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2006, 13:26 von modercol.)
Da ich auch noch eine richtige Homepage habe möchte ich da auch noch Cheats drauftun.
Allerdings möchte ich nicht 2000 Cheats Dateien erstellen und dann noch selber den Link schreiben.
Hier meine Idee:
Ich möchte das ich nur einen Link schrieben muss der mir dann die ganzen Cheats einen Buchstabens auflistet und mit einem Link dann noch zu den entsprechenden Cheats. Die Namen sollen in einer extrigen Datei liegen.
Und die Cheats auch, können/muss dann auch in mehreren Dateien sein.
Ich möchte hald nicht jeden Link selber schreiben. Wie ist das mit einer PHP Schleife realisierbar?
Und ich möchte auch nicht 2000 Dateien haben sondern die meisten in eine Datei zusammen packen und die einzelnen Cheats dann auch evtl. in Funktionen zu packen.
Und wenn ich auf den Link klicke sollen die Cheats in einem dafür vorgesehenem Layout erscheinen.
19.12.2006, 15:45 (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2006, 15:45 von bmaker.)
Also im Moment stelle ich mir das so vor, dass du einen Ordner mit etlichen Cheats hast. Jedes Spiel bekommt eine eigene Datei in diesem Ordner. Die Datei trägt dabei den Namen des jeweiligen Spiels.
Du könntest jetzt eine PHP-Datei erstellen, die z.B. alle Spiele, die den Anfangsbuchstaben A haben, auflistet und die Links zu den Cheatdateien automatisch erstellt. Dazu müsste das Skript den Ordner jedes Mal durchgehen und alle entsprechenden Dateien verlinken.
Der folgende Code müsste das bewerkstelligen:
PHP-Code:
<?php
if(isset($_GET['b'])) { $buchstabe = $_GET['b']; if(preg_match('/^[a-z]{1}/i',$buchstabe)) { // den Ordner "öffnen", in dem die Cheatdateien gespeichert werden $dir = opendir('db'); $file = ''; $pattern = "/^$buchstabe/i";
// alle Dateien des Verzeichnsises mit dem angegebenen Anfangsbuchstaben auflisten while(FALSE !== ($file = readdir($dir))) { if(preg_match($pattern, $file)) echo "$file<br />"; } } else { /* UNGÜLTIGER BUCHSTABE */ echo 'Ungültiger Buchstabe!'; } } else { /* FEHLER */ echo 'FEHLER: Der Parameter "b" wurde nicht übergeben!'; }
?>
Wenn du diese Seite z.B. mit index.php?b=F aufrufst, dann werden alle Dateien, die den Anfangsbuchstaben F haben, ausgegeben.
Die Dateien werden aber noch nicht verlinkt. Außerdem sieht das ganze nicht so toll aus. Das wirst du aber sicher hinkriegen...
modercol schrieb:Ich kenn mich mit diesen if,each,foreach,while,do_while Schleifen bzw. else und eval noch nicht so aus, deswegen frage ich ja.
BTT: Die Cheats sollen dann auch noch included werden in mein Layout.
Folgenden Befehl brauchst du dazu.
PHP-Code:
include('AgeOfEmpires.html');
MfG, bmaker
Include weiß ich schon, bloß wo muss ich diesen hinsetzten, denn so wie ich des mein werden die Cheats ja automatisch erstellt, mit einer each(was auch immer) Schleife. Von dem her....
Ich möchte das die Cheats in der einzelnen Datei nur die Tabellen beinhalten von den Cheats enthalten, und nicht das ganze Layout.
Also nochmal ne Erklärung.
Man klickt auf z.B. den Buchstaben A daraufhin generiert ein Skript die ganzen Links zu den jeweiligen Cheats. Klickt man auf einen Link, so werden die Cheats in das Layout included.
modercol schrieb:Ich möchte das die Cheats in der einzelnen Datei nur die Tabellen beinhalten von den Cheats enthalten, und nicht das ganze Layout.
Also nochmal ne Erklärung.
Man klickt auf z.B. den Buchstaben A daraufhin generiert ein Skript die ganzen Links zu den jeweiligen Cheats. Klickt man auf einen Link, so werden die Cheats in das Layout included.
Dann brauchst du 2 Dateien. Eine, die nach dem Anfangsbuchstaben alle Dateien auflistet und eine, die dann die Cheats darstellt.
index.php (fast identisch mit dem Code von oben):
PHP-Code:
<?php
if(isset($_GET['b'])) { $buchstabe = $_GET['b']; if(preg_match('/^[a-z]{1}/i',$buchstabe)) { // den Ordner "öffnen", in dem die Cheatdateien gespeichert werden $dir = opendir('db'); $file = ''; $pattern = "/^$buchstabe/i";
// alle Dateien des Verzeichnsises mit dem angegebenen Anfangsbuchstaben auflisten while(FALSE !== ($file = readdir($dir))) { if(preg_match($pattern, $file)) echo "<a href='showcheat.php?file=$file'>$file</a><br />"; } } else { /* UNGÜLTIGER BUCHSTABE */ echo 'Ungültiger Buchstabe!'; } } else { /* FEHLER */ echo 'FEHLER: Der Parameter "b" wurde nicht übergeben!'; }
?>
showcheat.php sieht dann so aus:
PHP-Code:
HIER DAS LAYOUT OBERHALB DES CHEATS <?php if(isset($_GET['file'])) { $file = $_GET['file']; if(file_exists('db/'.basename($file))) { include('db/'.basename($file)); } else { echo 'Fehler: Die Cheatdatei ist nicht vorhanden!'; } } else { echo 'Fehler: Keine Cheatdatei angegeben.'; } ?> HIER DAS LAYOUT UNTERHALB DES CHEATS
25.12.2006, 12:00 (Dieser Beitrag wurde zuletzt bearbeitet: 25.12.2006, 12:03 von modercol.)
Also z.B. "showcheat.php?file=ageofempires.html" ?
Ähm... da ist noch was.
Ich habe da ein drei Spalten Layout. In der Mitte soll die Cheats Tabelle sein, aber rechts sollen auch noch Angaben z.B. Entwickler ,Release,... angezeigt werden.
04.01.2007, 22:48 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2007, 23:06 von modercol.)
In welches Verzeichnis muss ich dann die cheat-html Dateien ablegen in "cheats" mit den a,b,c,... Ordnern oder gleich Ordner "a","b","c",... im root Verzeichnis anlegen.
Und mit welcher adresse rufe ich dann das skript für z.B. Buchstabe "b" auf ??
05.01.2007, 14:05 (Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2007, 14:06 von bmaker.)
modercol schrieb:In welches Verzeichnis muss ich dann die cheat-html Dateien ablegen in "cheats" mit den a,b,c,... Ordnern oder gleich Ordner "a","b","c",... im root Verzeichnis anlegen.
Und mit welcher adresse rufe ich dann das skript für z.B. Buchstabe "b" auf ??
Wenn du meine oben geposteten Dateien so übernimmst, dann müssen index.php und showcheat.php zusammen in dasselbe Verzeichnis gelegt werden. In diesem Verzeichnis muss dann noch ein Unterordner angelegt werden, der die Cheat-Dateien beinhaltet. Dieser Unterordner muss /db heißen.
Ich habe meinen Code von meinem vorherigen Post ein klein wenig abgeändert, sodass du den Ordner, in dem er nach den Cheatdateien suchen soll, selbst bestimmen kannst:
neue index.php
PHP-Code:
<?php define('CHEAT_DIR', 'db');
if(!file_exists(CHEAT_DIR)) echo "SKRIPT-FEHLER: Der Ordner CHEAT_DIR ist nicht vorhanden!";
if(isset($_GET['b'])) { $buchstabe = $_GET['b']; if(preg_match('/^[a-z]{1}$/i',$buchstabe)) { // den Ordner "öffnen", in dem die Cheatdateien gespeichert werden $dir = opendir(CHEAT_DIR); $file = ''; $pattern = "/^$buchstabe/i";
// alle Dateien des Verzeichnsises mit dem angegebenen Anfangsbuchstaben auflisten while(FALSE !== ($file = readdir($dir))) { if(preg_match($pattern, $file)) echo "<a href='showcheat.php?file=$file'>$file</a><br />"; } } else { /* UNGÜLTIGER BUCHSTABE */ echo 'Ungültiger Buchstabe!'; } } else { /* FEHLER */ echo 'FEHLER: Der Parameter "b" wurde nicht übergeben!'; }
?>
neue showcheat.php
PHP-Code:
HIER DAS LAYOUT OBERHALB DES CHEATS <?php define('CHEAT_DIR', 'db');
if(isset($_GET['file'])) { $file = $_GET['file']; if(file_exists(CHEAT_DIR.'/'.basename($file))) { include(CHEAT_DIR.'/'.basename($file)); } else { echo 'Fehler: Die Cheatdatei ist nicht vorhanden!'; } } else { echo 'Fehler: Keine Cheatdatei angegeben.'; } ?> HIER DAS LAYOUT UNTERHALB DES CHEATS
Ab jetzt musst du nur noch bei define('CHEAT_DIR', 'db'); den Ordnernamen (im Moment "db") anpassen und du kannst schon einen anderen Ordner verwenden!
Und jetzt dazu, wie du die index.php aufrufen musst: /index.php?b=A wird alle Cheatdateien auflisten, die mit dem Buchstaben A beginnen. Genauso kannst du auch jeden anderen Buchstaben angeben.
Die index.php verlinkt übrigens bereits bei der Auflistung alle Cheatdateien mit der showcheat.php. Wenn du testweise mal auf einen dieser Links klickst, dann wirst du auch verstehen, was showcheat.php macht. (Es inkludiert einfach die Cheatdatei, die ebenfalls ähnlich wie bei der index.php angegeben wird.)