Bild auf einer Website nach Bedingung ändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bild auf einer Website nach Bedingung ändern

    Habe auf einer Webadresse ein eine Grafik namens bild.jpg


    Nun möchte ich ein kleines Script machen, wo dieses Bild immer ein anderes bild ist, aber immer unter dieser Adresse z.B. www.zumbeispiel.de/bild.jpg
    aufgerufen wird


    PHP-Code:
                       <?php
      $bild
    ="default.jpg";
       
      
    // Zufallszahl erstellen
      
    $zufall rand(1,10);
       
      
    // Bild setzen
       
      
    for($i=1$i 10$i++) {
        if(
    $i == $zufall) {
          
    $bild $bild[$i];
       }
      }
    ?>
    Die Bilder sind alle in dem gleichen Verzeichnis (bild1.jpg, bild2.jpg....)


    wenn bei Aufruf nun $zufall = 3 ist soll unter www.zumbeispiel.de/bild.jpg das Bild von bild3.jpg angezeigt werden.


    Wie bekomme ich das hin, das bild.jpg immer der entsprechenden Inhalt hat?

  • #2
    1.) brauchst du ein Routing
    Die Datei bild.jpg sollte nicht existieren, sondern lediglich aufrufbar sein und ein PHP-Script triggern. Dafür brauchst du (abhängig davon welchen Webserver du verwendest: z.B.: Apache, NGINX, etc.) eine Rewrite Regel, die beispielsweise sämtliche Anfragen auf /bild.jpg weiterleitet an eine randomImage.php

    Beispiel (Apache/htaccess):

    HTML-Code:
    RewriteRule ^/bild\.jpg$   /randomImage.php [NC,L]

    2.) Datei direkt über das PHP Script ausliefern
    Du musst die jeweilige Bilddatei direkt über das PHP-Script zurückliefern. Schau dir dazu am besten fpassthru an, da gibts sogar ein Beispiel in der Dokumentation - siehe: https://www.php.net/manual/en/function.fpassthru.php

    Kommentar


    • #3
      ob_start();
      $fp = fopen($text, "rb");
      fpassthru($fp);
      fclose($fp);
      $file = ob_get_contents();
      ob_end_clean();

      $fp = fopen("./vorhersage.jpg", "wb+");
      fwrite($fp, $file);
      [FONT=&quot]fclose($fp);[/FONT]
      Zuletzt geändert von BH8; 26.09.2022, 13:34.

      Kommentar


      • #4
        hab doch noch ne Frage / Problem.


        ich habe jetzt in meinem Script soweit, dass das entspr. Bild im Verzeichnis als bild.jpg gespeichert ist.


        Wie kann ich in PHP script das machen, damit nach dem Aufruf des Scriptes das Bild zurück an den Browser gegeben wird, also angezeigt wird.


        Im iOS kann man mit Kurzbefehlen den Inhalt einer Website lesen.


        ich möchte also dass im Kurzbefehl dann das Bild so geladen werden kann

        Kommentar


        • #5
          Habe ich doch gerade oben beschrieben

          Kommentar


          • #6
            Zitat von KRaFFiX Beitrag anzeigen
            Habe ich doch gerade oben beschrieben

            Danke Dir, ich schau mir das mal an und hoffe, versteh es und bekomm es hin.

            Bin LAIE in PHP.
            Meld mich, wenn es nicht hinhaut

            Kommentar


            • #7
              Zitat von BH8 Beitrag anzeigen
              ob_start();
              $fp = fopen($text, "rb");
              fpassthru($fp);
              fclose($fp);
              $file = ob_get_contents();
              ob_end_clean();

              $fp = fopen("./vorhersage.jpg", "wb+");
              fwrite($fp, $file);
              [FONT=&quot]fclose($fp);[/FONT]
              Wow, so eine kreative Schreibweise von copy($text, 'vorhersage.jpg') habe ich auch noch nicht gesehen.

              Kommentar


              • #8
                Zitat von h3ll Beitrag anzeigen
                Wow, so eine kreative Schreibweise von copy($text, 'vorhersage.jpg') habe ich auch noch nicht gesehen.

                Kommentar


                • #9
                  danke für den "schlauen" Kommentar :-)


                  Wie gesagt ich bin Laie in PHP und versuche mir ein kleines Script zu basteln, was ja auch soweit schon ganz gut funktioniert.


                  Aber was bewirken denn diese vielen Zeilen statt der einen copy($text, 'vorhersage.jpg') nun mehr, oder warum wurde das so geschrieben? Würde mir weiterhelfen, wenn ich den Grund und Zweck dafür erfahren könnte von Euch
                  Zuletzt geändert von BH8; 27.09.2022, 10:55.

                  Kommentar


                  • #10
                    Zitat von BH8 Beitrag anzeigen
                    Aber was bewirken denn diese vielen Zeilen statt der einen copy($text, 'vorhersage.jpg') nun mehr, oder warum wurde das so geschrieben?
                    Warum fragst du nicht den, der das geschrieben hat? Und Code irgendwoher kopieren, den man nicht versteht, das sollte man auf keinen Fall machen.

                    Kommentar


                    • #11
                      ja da hast Du wohl Recht, aber der Code machte das eben auch wunderbar, aber ist mit copy natürlich besser für den Zweck zu erfüllen


                      Es geht jetzt jedenfalls alles BESTENS und mein Zaubereffekt funzt wunderbar

                      Kommentar


                      • #12
                        Zitat von BH8 Beitrag anzeigen
                        ja da hast Du wohl Recht, aber der Code machte das eben auch wunderbar
                        Woher weißt du das, wenn du ihn nicht verstehst? Der könnte so viel Blödsinn machen, ohne dass du es mitbekommst.

                        Kommentar


                        • #13
                          ich denke mal, die Diskussion in diese Richtung bringt hier nicht weiter und gehört auch nicht hier hin ...


                          Danke an alle, die mir hier geholfen haben. Ich habe wieder was dazu gelernt

                          Kommentar

                          Lädt...
                          X