Ingo Siemon: Bildwechsel mit fester URL

Hallo

Ich möchte gerne erreichen, dass beim Aufruf einer konkreten URL bei jedem Aufruf ein anderes Bild aufgerufen/angezeigt wird.

Die URL sonn z.B. sein: http://example.org/bilder/wechsel-bild.jpg

Also es soll nicht nur eine bestimmte Bilddatei (wechsel-bild.jpg) bei Aufruf der URL angezeigt werden, sondern bei jedem Aufruf ein anderes Bild (die Bilder befinden sich im Ordner "bilder").

Ist das machbar? Ich meine mich zu erinnern, dass ich das früher mal hatte. Aber leider stehe ich gerade auf dem Schlauch und komme nicht mehr drauf, wie ich das damals umgesetzt hatte.

Gruß Ingo

  1. Servus!

    Hallo

    Ich möchte gerne erreichen, dass beim Aufruf einer konkreten URL bei jedem Aufruf ein anderes Bild aufgerufen/angezeigt wird.

    Ist das machbar?

    Bestimmt!

    Schau mal hier: PHP/Tutorials/Wechsellogik

    Herzliche Grüße

    Matthias Scharwies

    --
    Die Signatur findet sich auf der Rückseite des Beitrags.
    1. @@Matthias Scharwies

      Schau mal hier: PHP/Tutorials/Wechsellogik

      Ich hab geschaut und verstehe den Sinn nicht. Gibt es denn einen?

      Das Bilder-Array wird gemischt; die Bilder sind also zufällig angeordnet. Dann erhält man mit $imagesShuffled[0] ein dem Zufall überlassenes Bild.

      Oder man lässt das mit dem shuffle($images) sein und lässt das Array (wonach auch immer) sortiert. Dann erhält man mit $images[mt_rand(0, count($images) - 1)] ein dem Zufall überlassenes Bild.

      Aber beides, shuffle() und mt_rand(), macht doch gar keinen Sinn‽ 🤔


      Da steckt ein Fehler im Tutorial: count($werte) sollte count($imagesShuffled) heißen‽

      🖖 Живіть довго і процвітайте

      --
      Ad astra per aspera
      1. Hi,

        Das Bilder-Array wird gemischt; die Bilder sind also zufällig angeordnet. Dann erhält man mit $imagesShuffled[0] ein dem Zufall überlassenes Bild.

        Oder man lässt das mit dem shuffle($images) sein und lässt das Array (wonach auch immer) sortiert. Dann erhält man mit $images[mt_rand(0, count($images) - 1)] ein dem Zufall überlassenes Bild.

        und da shuffle mit wachsendem Array immer größeren Aufwand verursacht, während das Berechnen des zufälligen Index konstanten Aufwand bedeutet, sollte ziemlich klar sein, welche Variante die bessere sein dürfte.

        cu,
        Andreas a/k/a MudGuard

  2. Lieber Ingo,

    Die URL sonn z.B. sein: http://example.org/bilder/wechsel-bild.jpg

    nein, die URL soll z.B. so sein:
    https://example.org/wechselbild.php

    Du hast PHP als Tag an Deinen Post gepinnt, also verwendest Du PHP. Prinzipiell hast Du zwei unterschiedliche Herangehensweisen:

    1. Du lieferst unter einer identischen URL unterschiedliche Bilddaten aus.
    2. Das HTML-Dokument wird beim Aufruf mit einer zufällig ausgewählten Bild-URL bestückt.

    Der Punkt 1 muss so umgesetzt werden, dass passende HTTP-Header mit ausgegeben werden, die das Caching des Browsers entsprechend verhindern (oder begrenzen), weil sonst das Gedächtnis des Browsers die alten Bilddaten verwendet, anstatt vom Script neue Daten zu holen.

    Für Punkt 2 hat Dir Matthias ja schon unseren Artikel mit der Wechsellogik verlinkt.

    Liebe Grüße

    Felix Riesterer

    1. Hallo Felix Riesterer,

      man kann ja in der .htaccess das wechsel-bild.jpg auf das PHP Schript umbiegen, damit der Anwender nicht merkt, dass da ein Serverscript läuft.

      Rolf

      --
      sumpsi - posui - obstruxi
      1. Hallo Rolf

        man kann ja in der .htaccess das wechsel-bild.jpg auf das PHP Schript umbiegen, damit der Anwender nicht merkt, dass da ein Serverscript läuft.

        Ja, das kommt mir bekannt vor. Ich glaube tatsächlich, dass ich das damals so gelöst hatte.

        Da ich selber leider nicht wirklich PHP kann (ich stückel mir das meist aus Google usw. zusammen), könnt Ihr mir da helfen? Bzw. es wird doch sicherlich da schon fertige Scripte geben, oder?

        Gruß Ingo

      2. Ich habe gerade noch einen 13 alten Thread in einem anderen Forum gefunden, wo ich die Sache damals mal gefragt hatte. Und da ist dann auch die Lösung. Und genau so habe ich das jetzt bei mir auch wieder umgesetzt.

        https://www.homepage-forum.de/forum/-1-homepage-forum/-1-3-serverseitige-sprachen/-1-3-1-php-mysql/52530-per-htaccess-auf-zuf%C3%A3%C2%A4lliges-bild-umleiten