Zufallsbild wird nicht angezeigt! Fehler?

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

  • Zufallsbild wird nicht angezeigt! Fehler?

    Hallo,

    folgendes Script soll ein Zufallsbild auf einer Index.html ausgeben.
    Das Script selbst ist in eine externe Datei (zufall.php) geschrieben und über Include (<?php include("zufall.php") ?>) eingebunden.

    Index.html & Zufall.php liegen im gleichen Ordner.
    Die Zufallsbilder (jpg) liegen in einem Ordner Namens "uploads", welcher sich außerhalb dem Ordner befindet, wo index & zufall liegen.

    Habe jetzt nun die Zufall.php per IFrame eingebunden:
    Code:
    <iframe src="http://xxxxxx.info/templates/zufall.php" 
    scrolling="no"  width="125" height="130" ></iframe>
    Ich bekomme zwar ein .[COLOR=crimson]Rotes X[/COLOR] zusehen,
    was aber jetzt anscheinend aus dem Ordner "templates" angezeigt werden soll, wo aber keine Bilder sind, sondern diese sind im Ordner "Uploads" ???

    Hier mal das Script:

    PHP-Code:
    <?php 

    //Welcher Ordner wird ausgelesen? 
    // $ordner = "./bilder/"; 
    $ordner "../uploads/"

    //Welche Bildendungen sollen erkannt werden? 
    $endungen = array("gif","jpg","jpeg","png"); 
    $anfang = array("th_"); 

    /****** Bilder auslesen ******/ 
    $verzeichnis dir($ordner); 
    $bilder = array(); 
    while(
    $datei $verzeichnis->read()) 
       { 
       
    $datei_endung substrstrrchr($datei,".") ,1); 

       
    //Ist die Datei-Endung in dem Array vorhanden? 
       
    if(in_array($anfang,$datei_endung,$endungen)) 
          { 
          
    $bilder[] = $datei
          } 
       } 
    $verzeichnis->close(); 

    //Zufälliges Bild wählen 
    srand ((double) microtime() * 10000000); 
    $key array_rand($bilder); 

    //Bild ausgeben: 
    echo "<img src=\"".$bilder[$key]."\">"

    ?>
    Jemand eine Idee, worann es liegen könnte?
    Ach ja, die "index.html" ist eine Template-Datei, welche sich in einem Webkatalogscript befindet.

    Danke & Gruß Dirk
    Zuletzt geändert von japsa; 04.03.2006, 21:04.
    RePricing | Preisoptimierung für Ebay & Amazon

  • #2
    bitte code umbrechen!

    was wird denn letzten endes an den browser geschickt? klicke das "rote kreuz" mal rechts an und schaue den pfad ab, der generiert wurde. ist er richtig?

    Kommentar


    • #3
      Original geschrieben von penizillin

      was wird denn letzten endes an den browser geschickt? klicke das "rote kreuz" mal rechts an und schaue den pfad ab, der generiert wurde. ist er richtig?
      Nein, der ist nicht richtig!
      Da steht:
      http://www.xxxxxx.de/templates/

      dort müßte aber stehen:

      http://www.xxxxxx.de/uploads/ ???

      Wenn ich aber den Pfad im Script zum Ordner "Uploads" ändere, dann erhalte ich kein Rotes X mehr , sondern Fehlermeldungen!

      Gruß Dirk

      Oben im Script war noch ein Fehler:
      /tamplates/uploads - muß lauten: ../uploads

      Dann stimmt auch meine Problembeschreibung! Sorry!
      Zuletzt geändert von japsa; 04.03.2006, 21:06.
      RePricing | Preisoptimierung für Ebay & Amazon

      Kommentar


      • #4
        es ist offensichtlich ein problem mit dem pfad (zumindest in erster linie). was soll man dir da noch groß sagen? kontrolliere die pfade, berichtige sie.

        Kommentar


        • #5
          $ordner = "../uploads/";

          Außer hier wird doch kein Pfad im Script angegeben, oder?
          Bin absoluter PHP-Neuling!

          Ich habe eigentlich schon alle Varianten zu dem Bilderordner "Uploads" durch, keine hat funktioniert?

          Nachtrag:
          Habe jetzt einmal einen Punkt vor "uploads" weggenommen, bekoome allerdings jetzt folgende Fehlermeldung:

          Warning: dir(./uploads/): failed to open dir: No such file or directory in /home/www/web228/html/katalog/templates/zufall.php on line 12

          Fatal error: Call to a member function on a non-object in /home/www/web228/html/katalog/templates/zufall.php on line 14



          Gruß Dirk
          Zuletzt geändert von japsa; 04.03.2006, 21:29.
          RePricing | Preisoptimierung für Ebay & Amazon

          Kommentar


          • #6
            wenn's nicht dein skript ist, dann wirst du erst mal verstehen müssen, wie das ganze funktioniert. dazu wirst du testausgaben brauchen. sprich, wenn du wissen willst, was in einer variable $foo drin steht, gib sie einfach mit
            PHP-Code:
            var_dump($foo); 
            aus. nach und nach wirst du herausfinden, an welcher stelle der pfad falsch zusammengesetzt wird.

            des weiteren ist es wichtig, den unterschied, zwischen lokalen pfaden (im dateisystem des servers) und urls (die nur im htt-protokoll sinn machen) zu verstehen, sowie generelle begriffe, wie "absoluter" und "relativer" pfad.

            dann solltest du herausfinden können, wo das problem liegt.

            Kommentar


            • #7
              wird Deine index.html denn überhaupt von php verarbeitet?

              Nenn sie mal in index.php um.

              Kommentar


              • #8
                Original geschrieben von Koala
                wird Deine index.html denn überhaupt von php verarbeitet?

                Nenn sie mal in index.php um.
                Dann würde er ja den PHP-Code im Browser sehen...
                Zuletzt geändert von sagg; 04.03.2006, 21:56.
                mfg - sagg

                Kommentar


                • #9
                  Umbennenen ist nicht so einfach, da die index.html Bestandteil eines Webkatalogscripts ist. Es würde dann nichts mehr funktionieren.

                  Ich habe aber eine .htaccess - Datei angelegt, diese mit folgendem Inhalt versehen: AddType application/x-httpd-php .html - welche ich in den selben Ordner gelegt habe, wo auch die "index.html" liegt.

                  Dachte, dass löst das Problem?

                  Gruß Dirk
                  RePricing | Preisoptimierung für Ebay & Amazon

                  Kommentar


                  • #10
                    ja - müßte funktionieren.

                    Kannst ja mal ne echo-Ausgabe machen um das zu prüfen.

                    Kommentar


                    • #11
                      Also ich gehe mal davon aus, dass deine index.html im DocRoot liegt ? Du musst dir vor Augen halten, wie sich Pfadangaben in inkludierten Dateien verhalten.
                      Der Pfad wird ausgehend von der "Mutterdatei" gesucht d.h. von der Datei in die deine Datei inkludiert wurde. Wenn also die index im root liegt, dann wird ein relativer Pfad à la ../irgendwat nicht funzen, da für das Script die Datei dann ausshalb von DocRoot liegt...
                      Ich würde dir grundsätzlich empfehlen für Sachen, die via Dateisystem gemacht werden absolute Pfade zu verwenden
                      PHP-Code:
                      $pfad 'pfad_zur_datei/bild.jpg'//Pfadangabe ausgehend von Root
                      $_SERVER['DOCUMENT_ROOT'].'/'.$pfad
                      Für die Links die du im HTML Source Code ausgeben willst würde ich dann relative Pfade verwenden (der führende Slash weist den Browser an den Pfad ausgehend von DocRoot zu suchen)
                      PHP-Code:
                      echo '<img src="/'.$pfad.'" />'
                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar

                      Lädt...
                      X