Zufallsbild per PHP

Heute hat mich ein Kumpel von mir gefragt ob ich ein Script für seine Webseite basteln könnte. Er wollte auf der Startseite seiner Fotografieseite per Zufall ein Bild anzeigen lassen.

Problemstellung:

Das Script musste so aufgebaut sein das jederzeit neue Bilder hinzugefügt werden können und das ohne Änderungen am Script und ohne Datenbank.

Bekannt war mir die Ordnerstruktur der Seite, da ich sie selbst programmiert habe. So wusste ich das alle Bilder im Ordner “images” liegen. Problem hierbei, dort liegen auch verschiedene Dateien die für das Layout sind und nicht angezeigt werden sollen.

Also machte ich mir Gedanken und entschied alle Dateien aus dem Ordner auszulesen und die, die nicht angezeigt werden sollen auszufiltern. Dannach wird eine Bild per Zufall ausgewählt und angezeigt.

Das Script:

<?php
$dir
= ‘images’; //Image directory
$files
= scandir($dir, 0);

//Images which shouldn’t be displayed
$exeption
= array();
$exeption[] = “image.jpg”;

//All images (Array)
$images = array();

for( $ctr = 1; $ctr < sizeof( $files ); $ctr++ ) {
if($files[$ctr] != “.” && $files[$ctr] != “..”)
if(!in_array($files[$ctr], $exeption))
{
$images[] = $files[$ctr]; //Add a image to the images array
}
}

$selectimage = array_rand($images); //Select a random image
$image = $images[$selectimage];
echo ‘<img src=”‘.$dir.’/’.$image.’”>’; //Display the image

?>

Falls ihr Fragen zum Script habt könnt ihr hier ein Kommentar hinterlassen oder mir per ICQ (300-226-290) schreiben.

© M4c

Die Welle

Letzte Woche habe ich es endlich mal wieder ins Kino geschafft. Meine Wahl fiel auf den Kinofilm “Die Welle” (Infos). 107 Minuten später war es dann vorrüber. Ich persönlich finde denn Film sehr gelungen. Da ich gleichzeitig auch das Buch als Roman in der Schule lesen muss (10. Klasse) fielen mir natürlich die oft sehr deutlichen Unterschiede auf. So wird im Film vieles verdramatisiert um den Film spannender zu machen, im Buch ist dies nicht so stark der Fall. Doch die wichtigen Dinge werden schön nachgespielt und der Ort und Zeitwechsel (das Orginal spielt in Amerika und im Jahre 1967) ist nicht weiter schlimm.

Alles in allem bereue ich es nicht in der Film gegangen zu sein. Es ist auf der einen Seite gute Unterhaltung und auf der anderen Seite behandelt und verdeutlicht es ein ernstes Thema.

Ich überlege ihn mir später mal auf DVD zuzulegen.

Links:

  • Offizelle Webseite - (deutsch)
  • “The Third Wave” - Artikel von Ron Jones über sein Experiment (englisch)
  • M4c

    saulzaentz

    Was für ein komischer Titel oder? Diese Frage habt ihr euch bestimmt gerade gestellt. Naja ist ja auch verständlich.

    Saulzaentz sollte eigentlich eine Zombie Master Map werden, wurde sie aber leider nie. Die Frage nach dem Ursprung des Names kann ich euch beantworten. Über meinem Bildschirm hängt ein großes Herr der Ringe Poster und bei den Copyrighthinweisen steht The Saul Zaentz Company“. Daher stammt der komische Name.
    Zuerst plante ich ein Lagerhaus in einer Wüste zu bauen, doch irgendwie war mir das Thema zu langweilig. Es gibt einfach zu viele Maps mit Lagerhäusern in der Wüste. Naja dann habe ich mal ein wenig im Internet gesucht und bin auch fündig geworden. Eine Zombie Master Map im Wilden Westen, das ist es doch. Ursprung dieser Idee ist das folgenden Foto:

    saulzaentz
    © Jürgen Hüsmert / PIXELIO

    Ich habe mir Mühe gegeben und versucht das Foto so gut wie es geht nachzubauen. Mehr habe ich nicht gemacht da ich mal wieder die Lust verloren habe, wieso oft!
    Hier sind zwei Screenshots was bei meinem Versuch heraus gekommen ist:

    saulzaentzscreen01 saulzaentzscreen02

    Würde mich über Kommentare freuen.

    M4c

    © M4c 2008

    de_Parkhaus

    Die erste einigermaßen ansehnliche Map von mir. Sie erzeugt zumindestens kein Augenkrebs mehr. Angefangen hat alles mit einem mehrstöckigen Stahlbeton Parkhaus. Oben auf dem Dach starten die Counter-Terroristen und vor dem Parkhaus die Terroristen. Das Parkhaus liegt in einem Stadtzentrum. So findet man dort auch einen begehbaren Bahnof, ein Kino, eine Autowerkstatt und mehrere Wohnhäuser. Am Städtchen vorbei fließt ein Kanal der in diesem Moment Hochwasser führt. Die Bewohner sich schon evakuiert da die Stadt zu überfluten droht. Überall stehen Sandsäcke und Lastwagen herum, die vergeblichen Rettungsaktionen.

    Da mir damals noch viel Erfahrung fehlte wimmelte es in der Map nur so von Leaks. Diese habe ich aber letztens mal in einer ruhigen Minute alle entfernt. Sie ist nicht gut optimiert, deswegen werde ich sie auch nie releasen.


    parkscreen01
    parkscreen02parkscreen03
    parkscreen04parkscreen05parkscreen06

    Wie gesagt ist ein Anfängerwerk, also nicht alzu ernst bewerten. :)

    © M4c 2008

    Woher kam die Idee?

    Diese Frage habe ich mir eben gestellt. Ich saß gerade gemütlich in meinem Zimmer und machte mir Gedanken über die Mod. Irgendwie schlich sich dann die Frage, wie ich überhaupt auf das Thema der Mod gekommen bin, in meinen Kopf. Im ersten Moment konnte ich sie mir gar nicht so klar beantworten. Also habe ich einmal ganz an den Anfang zurück gedacht. In meiner kleinen Testmod gab es noch gar keine wirkliche Story, man spielte einen einfachen Dörfler und metzelte. Von Robotern war nicht die Rede. In der nächsten Version sollte es einen Kampfszene, an einer Kreuzung im Startort, zwischen Menschen und Robotern geben, fiel mir dann ein. Vielleicht inspirierten mich die Combines aus Half-Life².

    combine

    Deren Roboter ähnliches Aussehen, denke ich brachte mich auf die Idee eine Geschichte mit Robotern zu gestalten. Was auch ein Faktor spielen könnte, aber eher im Unterbewusstsein, das die Story ein wenig vom Film I-Robot hat. Ich selbst habe den Film gesehen, doch bevor mich Robin darauf angesprochen hat habe ich gar nicht an den Film gedacht. Da freundliche Roboter in einem Shooter absolut langweilig sind, musste ein Grund her warum die Roboter feindlich gesinnt sind. Jetzt inspirierte mich bewusst ein Film in dem selbst keine Roboter vorkommen. Stirb langsam 4.0. Alle die ihn kennen wissen das es um einen Hackerangriff geht der eine Stadt lahmlegt. Diese zwei Dinge “Roboter + Hacker” ergeben das Grundkonzept der jetztigen Mod. Die verstrickte Geschichte drum herum viel meinem Kumpel und mir dann nach und nach ein.

    H.A.C.K. war geboren!

    © gezeichnet M4c

    dod_street

    Mal wieder plagte mich die Langeweile als ich eines Tages mit einer Map für Day of Defeat:Source anfing. Die Map soll die nächtliche Schlacht nach einem verheerenden Artillerieschlag der Deutschen nachspielen. Das Starthaus besteht vollständig aus Displacements, da es wie ein Bauernhaus wirken soll. Die Umgebung ist mit Kratern durchzogen.

    Leider habe ich die Map nie fertig gestellt, da ich zu schnell die Lust verloren habe. Dazu kam meine Mod an der ich viel zu tun hatte. Trotzdem möchte ich euch die wenigen Screenshots die ich gemacht habe nicht vorenthalten. Die Mapbegrenzung fehlt noch fast völlig und auch das Lightning ist nur punktuell fertig.

    © gezeichnet M4c


    dod_street01
    dod_street02 dod_street03 dod_street04 dod_street05
    dod_street06 dod_street07 dod_street08 dod_street09 dod_street10 dod_street11

    Besser als erwartet!

    Alles hat an einem Sonntag im November 2007 angefangen. Eigentlich aus reiner Langeweile surfte ich, Sven “M4c”, durchs Internet. Als ich auf eine Mod Webseite gestoßen bin, die mir recht gut gefallen hat, wollte ich wissen wie das der Mod Erstellung funktioniert. Da ich schon längere Zeit vorher mich mit dem Mapping für die Source Engine beschäftigt hatte, suchte ich auf der Valve Developer Community Webseite nach Information. Natürlich bin ich schnell fündig geworden und machte mit Hilfe der Infos auf Mapping-Tutorials meine ersten Versuche. Schnell wurde ein kleines Level zusammen gezimmert und ein wenig mit Dateien herum gespielt. In meinem Kopf schwirrte immer ein Bild von einer Klippe mit einem kleinen Holzhaus und einem verdorrten Baum herum. Dadurch denke ich viel mir der Name Lost Ocean ein. Damit verbrachte ich den ganzen Nachmittag. Am nächsten Tag, musste natürlich wieder in die Schule, erzählte ich einem Klassenkameraden (ein guter Freund von mir) davon. Er hat sich ebenfalls dafür interessiert und zusammen fingen wir an uns die Mod auszudenken. Die Ideen sprudelten nur so aus uns heraus und wurde aufgeschrieben. Ganze Unterrichtsstunden gingen damit vorbei. Nach einigen Tagen als wir die Grundidee “Von den Menschen entwickelte Roboter werden gehackt und gegen die Menschheit aufgebracht” hatten, fing ich an die erste richtige Map zu basteln. Eine kleine Webseite wurde schnell eingerichtet.

    In den darauf folgenden Tagen fiel uns dann auch der Name unserer Mod ein, “H.A.C.K.”. Dies fanden wir als passend an, da es ja im Spiel um die Folgen eines verheerenden Hackerangriffes geht. Wir wollten die Mod sehr einfach halten und nur eine gute Geschichte erzählen. An viel Custom Content haben wir nicht gedacht, vielleicht ein paar Sounds oder Texturen. So bastelte ich also vor mir her und mein Kumpel kümmerte sich um die Story. Irgendwann bemerkte ich dann das mein Kumpel irgendwie nicht mehr voll dabei ist. Anfang Dezember 2007 stieg er dann auch aus. Weg war die Motivation und das Projekt lag brach. Ich grübelte ob ich noch weiter machen soll oder alles hinschmeiße. Mitte Dezember traf ich dann meine Entscheidung. Ich wollte weitemachen, aber nicht alleine. Mit einigen mehr oder weniger guten Screenshots einer Multiplayer Map suchte ich im Forum von Mapping-Tutorials nach Leute die helfen möchten. Zwei Leute meldeten sich, ein Mapper und ein Coder. Beide hielt ich für geeignet und so traten Robin “Stormtiger” und el_bandito21 ins Team ein. Nun war Robin mein Hauptgesprächspartner, da er sehr viel Interesse an der Mod hatte. Zusammen verfeinerten wir die neue Story der Mod. Nun kam ein Schub von neuen Teammitglieder. Felix “JFK”, Leonard “HeLrAiSeR”, Ludwig “Borock, allesamt Freunde von Robin, kamen ins Team. Ich fing wieder damit an die neue Welt von H.A.C.K. zu mappen und nebenher die Story zu schreiben. Doch das Endergebniss meiner Story war eher enttäuschend. Ich selbst war auch nicht damit zu frieden. So fingen wir nocheinmal an. Das Team verändete sich nocheinmal. el_bandito21 fühlte sich mit der Mod überfordert und stieg aus. Dafür kamen Kevin “KevOneill” Scholz und Sergio “BloomPix” Gardella hinzu.

    Über die Weihnachtstage 2007 schliefen alle etwas ein. Lag wohl an der ganzen festlichen Stimmung. Zu Weihnachten schenckte ich der Mod eine neue Webseite.

    Neue Webseite

    Nachdem alle gute ins neue Jahr gerutscht waren, nahmen wir die Entwicklung wieder auf. Es wurde an der Story geschrieben, gemappt und an Models gearbeitet. Da ich so nun ganz andere Möglichkeiten hatte, konnte ich die neue Version der Story ganz anders aufbauen. Bei einem neuen Aufruf (22.01.200 8) bei Mapping-Tutorials meldeten sich weitere Begeisterte. Maximilian “bLister”, Tobias “Mr Lambda” Schlicht, Samuel “Samy” und Stephan “Frontschwein” bewarben sich. Alle wurden sie herzlichst aufgenommen. Später lernte Robin in der Mod “Zombie Master” einen weiteren Interessierten kennen. Es zeigte sich das er sehr viel Erfahrung mit dem entwickeln von Mods hat. Nun half mir Mathias “Setis” Burmeister bei der Ausarbeitung der Mod. Als Verstärkung für Ludwig kam Alexander “Nano”, ebenfalls ein Freund von Robin, ins Team. Bei der Umstrukturierung, die ich zusammen mit Mathis ausführte, musste Ludwig “Borock” das Team wegen Inaktivität verlassen. Zusammen legte wir einen Design-Doc an und legte nun alle möglichen Dinge endgültig fest.

    Ein großer Teil der Story wurde fertig gestellt, viel schöner und besser als die vorherigen Versuche. An allen Ecken wurde fleißig gearbeitet. Leider musste sich Mathias wegen seiner Arbeit an der Uni für ein zwei Monate abmelden. Ich hoffe er findet wieder die Zeit mit zu machen.

    Nun ist es Samstag, der 15. März 2008. Kevin und ich arbeiten an den Maps die auch schon sehr weit sind. Vieles hat schon ein weites Stadium. Bisher lief alles

    “Besser als erwartet!”

    © gezeichnet M4c