Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Automatische Link und Text erstellung.
#1
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.


Angehängte Dateien Thumbnail(s)
   
Keinen Support per PN, eMail und Messenger
computerhartware.de
GIGA - Spielen geht immer!
Zitieren
#2
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. Wink Das wirst du aber sicher hinkriegen...


MfG, bmaker
Zitieren
#3
Ich kenn mich mit diesen if,each,foreach,while,do_while Schleifen bzw. else und eval noch nicht so aus, deswegen frage ich ja.Wink

BTT: Die Cheats sollen dann auch noch included werden in mein Layout.
Keinen Support per PN, eMail und Messenger
computerhartware.de
GIGA - Spielen geht immer!
Zitieren
#4
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.Wink

BTT: Die Cheats sollen dann auch noch included werden in mein Layout.

Folgenden Befehl brauchst du dazu.
PHP-Code:
include('AgeOfEmpires.html'); 


MfG, bmaker
Zitieren
#5
bmaker schrieb:
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.Wink

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....Shy
Keinen Support per PN, eMail und Messenger
computerhartware.de
GIGA - Spielen geht immer!
Zitieren
#6
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.
Keinen Support per PN, eMail und Messenger
computerhartware.de
GIGA - Spielen geht immer!
Zitieren
#7
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 

Frohes Fest und guten Rutsch!

MfG, bmaker
Zitieren
#8
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.

P.S. Danke und auch guten Rutsch. Wink
Keinen Support per PN, eMail und Messenger
computerhartware.de
GIGA - Spielen geht immer!
Zitieren
#9
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 ??
Keinen Support per PN, eMail und Messenger
computerhartware.de
GIGA - Spielen geht immer!
Zitieren
#10
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.)


MfG, bmaker
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Individueller Text anzeigen (anderes Datum, anderer Text) lexington 2 2.343 08.02.2007, 08:04
Letzter Beitrag: lexington