Jetzt kostenlos Anmelden!

philosapiens Männlich

Hilfologe

Beiträge: 657

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.1

1

Donnerstag, 31. Januar 2008, 12:57

Wechselbanner ohne Datenbank?

Hi,

ich überlege gerade, ob es eine Möglichkeit gibt via php und html eine Art Wechselbanner bei refresh der Seite zu basteln.

Ziel:
Es gibt irgendwo auf der Seite eine Variabel die bei refresh der Seite ein neues template anzeigt. Diese templates sind im Grunde nichts weiter als Buttons im a-tag mit href und img src. Also im Grunde genommen so wie die Affiliatebox von kit-help.deeben nur ohne Datenbankanbindung, sondern mit einem template-Ordner aus dem die verschiedenen templates nach Möglichkeit auch mit random-Funktion auf gerufen werden können.

Geht das? 8|
Leider nutze ich das phpkit immer weniger und bastele mehr Eigenes: ^^
  • Zum Seitenanfang
  • Zum Seitenende

HiGHteK Männlich

findet sich zurecht

Beiträge: 144

Geschlecht: Männlich

PHPKIT Version: 1.6.03

2

Donnerstag, 31. Januar 2008, 14:54

Klar geht das ^^

Und ich nehm an du möchtest du nun auch noch wissen wie :D
Spontan könnt ich mir folgendes vorstellen...
Den Ordner, in dem die Zieltemplates liegen sollen, auslesen und die gefunden Templates in einem Array speichern.
Danach bräuchte man nur noch eine Zufallszahl zwischen 0 und Anzahl der Elemente im Array erzeugen und könnte dann mit dieser ermittelten Zahl das Element aus dem Array abrufen und anzeigen lassen.
Hoff die grobe Beschreibung reicht für den Anfang....kann momentan nicht mit Beispielcode etc dienen, da ich noch auf Arbeit rumsitzen muss 8)

Grtz
[Bevor du jemanden mit Füßen trittst, überleg ob du einem eventuellen Echo gewachsen bist]
  • Zum Seitenanfang
  • Zum Seitenende

philosapiens Männlich

Hilfologe

Beiträge: 657

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.1

3

Donnerstag, 31. Januar 2008, 16:34

Hi,

na supi, dass Du da zuversichtlich bist! Und dann bleibt mir nur noch Dir einen baldigen Feierabend zu wünschen. Ach und: JavaScript ist unsportlich! Aber davon schriebst Du ja auch nüscht! :D

Meinst Du, Du bekämst das in einer ruhigen Minute zusammen geschribbelt? Ich krieg das vielleicht mit dem array noch hin, aber die Zufallszahl entstehen zu lassen, ich glaub da verließen sie eher mich. ;(

Aber die Idee finde ich echt prima! Also ich meine, so wie Du es da so als Marschrichtung erdacht hast. :whistling:
Leider nutze ich das phpkit immer weniger und bastele mehr Eigenes: ^^
  • Zum Seitenanfang
  • Zum Seitenende

HiGHteK Männlich

findet sich zurecht

Beiträge: 144

Geschlecht: Männlich

PHPKIT Version: 1.6.03

4

Donnerstag, 31. Januar 2008, 17:32

Nun hab ich endlich Feierabend und muss dann immer noch arbeiten :rolleyes: :D

Aber versuch es mal folgendermaßen...

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php 
#Konfiguration
$bPath "banner/";     #Pfad zum Bannerverzeichniss ausgehend vom Templatesverzeichniss mit / am Ende
$bExtension "htm";            #Endung der Templatedateien
#Ende Konfiguration#

if (is_dir("templates/".$bPath)) #Prüfen ob Pfadangabe existiert (Vertrauen ist gut, Kontrolle ist besser *g* )
{
    if ($bHandleDir opendir("templates/".$bPath)) #Versuch das Verzeichniss zu öffnen
    {
        $bAvailableTemplates = array(); #Array für die gefundenen Templates
        
        while ($bBanner readdir($bHandleDir)) #Verzeichniss in einer while-Schleife auslesen
        {
            $bInfo pathinfo($bBanner); 
            if($bInfo['extension'] == $bExtension#Prüfen, ob die Endung einer gefundenen Datei der in $bExtension angegebenen entspricht
            {
                array_push($bAvailableTemplatesstr_ireplace(".".$bExtension,"",$bBanner)); #Template von Endung befreien und dem Array hinzufügen
            }
        }
    }
    
    closedir($bHandleDir); #Verzeichnis-handle schließen
    
    if (count($bAvailableTemplates) > 0#Prüfen, ob min. 1 Template gefunden wurde
    {
        #Zufallszahl ermitteln (0 bis Anzahl im Array bAvailableTemplates -1)
        $bElementNr rand(0count($bAvailableTemplates) - 1);
        
        #Template mittels gettemplate() aufrufen und in Variable $rnd_banner speichern
        eval("\$rnd_banner = \"".getTemplate($bPath.$bAvailableTemplates[$bElementNr])."\";"); 
    }
} 
?>


Den Quellcode einfach als randomBanner.php (oder was auch immer) speichern, ins root-Verzeichniss vom Kit packen, in der include.php mittels

PHP-Quelltext

1
include("randomBanner.php");

vor dem Aufruf des site - Templates einbinden und dann einfach die Variable $rnd_banner an der gewünschten Stelle platzieren und hoffen das ich keinen Fehler in den Quelltext gebaut habe...weswegen die Verwendung auch auf eigene Gefahr hin geschieht :D

Grtz
[Bevor du jemanden mit Füßen trittst, überleg ob du einem eventuellen Echo gewachsen bist]
  • Zum Seitenanfang
  • Zum Seitenende

philosapiens Männlich

Hilfologe

Beiträge: 657

Geschlecht: Männlich

Wohnort: Berlin

PHPKIT Version: 1.6.1

5

Donnerstag, 31. Januar 2008, 19:19

Hi,

supi! Eins rauf mit Mappe! Funzt einwandfrei!!! :thumbsup:

Ich hab nur das i aus str_ireplace in Zeile 18 gelöscht und fädich! Aber für so ein Feierabend - Script einfach fantastisch!!!!! 8o

Vielen Dank! :thumbup:
Leider nutze ich das phpkit immer weniger und bastele mehr Eigenes: ^^
  • Zum Seitenanfang
  • Zum Seitenende

HiGHteK Männlich

findet sich zurecht

Beiträge: 144

Geschlecht: Männlich

PHPKIT Version: 1.6.03

6

Donnerstag, 31. Januar 2008, 20:29

Ich hab nur das i aus str_ireplace in Zeile 18 gelöscht und fädich!
Das hättest du auch prinzipiell drin lassen können, also ist kein Fehler falls du das dachtest :D Bedeutet einfach das beim Suchen einer Zeichenkette in einem String nicht auf die Groß- und Kleinschreibung geachtet wird (i wie incasesensitive), falls mal jemand ein template names wasauchimmer.HTM statt wasauchimmer.htm in den Ordner packt ;)
Aber freut mich das es funktioniert und gefällt :D

Grtz
[Bevor du jemanden mit Füßen trittst, überleg ob du einem eventuellen Echo gewachsen bist]
  • Zum Seitenanfang
  • Zum Seitenende