H@nnib@ll: unerwuenschtes Zeichen wird angehaengt!

Guten morgen liebe Forumler,

bei mir tut sich mal wieder ein Problem auf!

Code:
//Output of Thumnails including Links!
$count = 1;
$max = count($list);
while ($count <= 50 && $selection<$max) {
 echo "<td><a href='".$format."/".$list[$selection]."' target='main'><img src='".$format."/_img/".(str_replace(".".$format, ".jpg", $list[$selection]))." ".getimagesize($format."/_img/".(str_replace(".".$format, ".jpg", $list[$selection])))."></a><br>".$list[$selection]."<br>Size:".stat($format."/".$list[$selection])."</td>";
 clearstatcache();
 $count++;
 $selection++;
 if (count == 10 or 20 or 30 or 40){
  echo "</tr><tr>";
  }
 }

Erklaerung:

Ein Moviefile wird verlinkt und der passende Screenshot liegt im Verzeichnis _img. get_imagesize findet das Bild auch korrekt nur wird das Bild nicht angezeigt. Ein Rechtsklick auf den Platzhalter zeigt mir das aus irgendeinem Grund dem String ein Prozentzeichen angehaengt wird! Die Frage die sich mir stellt warum wird das Prozentzeichen angezeigt obwohl kein Zeichen folgt?

Schon im voraus Danke an alle die ihre grauen Zellen meinem Problem opfern!

Gruss

H@nnib@ll

  1. Huhu und Guten Morgen Alter Alpenbezwinger ;-)

    Wenn ich das richtig sehe fehlt im IMG-Tag der src-Angabe das 2te Tüttelchen ('), vielleicht liegt es ja da dran.

    echo "<td><a href='".$format."/".$list[$selection]."' target='main'><img src='".$format."/_img/".(str_replace(".".$format, ".jpg", $list[$selection]))." ".getimagesize($format."/_img/".(str_replace(".".$format, ".jpg", $list[$selection])))."></a><br>".$list[$selection]."<br>Size:".stat($format."/".$list[$selection])."</td>";

    Aus Übersichtsgründen würde ich so etwas wie folgt schreiben

    $tmp_href=$format."/".$list[$selection];
    etc.

    printf('<td><a href="%s" target="main"><img src="%s" %s></a><br>%s<br>Size:%s</td>',$tmp_href,$tmp_img_src,$tmp_opts,$tmp_list,$tmp_stat);

    Dann sollten auch weniger Fehler mit den Tüttelchen passieren ;-)

    Viele Grüße

    lulu

    1. Mahlzeit (schon wieder so weit?),

      Wenn ich das richtig sehe fehlt im IMG-Tag der src-Angabe das 2te Tüttelchen ('), vielleicht liegt es ja da dran.

      Grossartig das wars! Ha! Und das Dingen hat mich jetzt einen halben Tag lahmgelegt! Ich glaubs ja nicht!

      DANKE

      Dafuer schieb ich auch gerne ein bischen Sonne von hier (Spanien) zu euch!

      Gruss

      H@nnib@ll

  2. Guten morgen liebe Forumler,

    bei mir tut sich mal wieder ein Problem auf!

    Code:
    //Output of Thumnails including Links!
    $count = 1;
    $max = count($list);
    while ($count <= 50 && $selection<$max) {
    echo "<td><a href='".$format."/".$list[$selection]."' target='main'><img src='".$format."/_img/".(str_replace(".".$format, ".jpg", $list[$selection]))." ".getimagesize($format."/_img/".(str_replace(".".$format, ".jpg", $list[$selection])))."></a><br>".$list[$selection]."<br>Size:".stat($format."/".$list[$selection])."</td>";
    clearstatcache();
    $count++;
    $selection++;
    if (count == 10 or 20 or 30 or 40){
      echo "</tr><tr>";
      }
    }

    Hallo das % entsteht durch die CGI-Variablen-Übergabe, wo %20 z.B. Blank bedeutet. Das Underscore wird , glaube ich auch als %-Zeichen dargestellt.
    Aber Du kannst doch auch mit replace das Zeichen Filtern, bau einfach phpinfo(); in eine Zeile ein, da stehen dann die Variablennamen.
    ist _img eine Variable oder der tatsächliche Verzeichnisname ?
    $format."/"._img."/". wäre dann die richtige Schreibweise.
    _img ist übrigens als Verzeichnisname ungültig, da underscores nie am Anfang eines Verzeichnisnamens stehen dürfen, ganz besonders dann nicht, wenn das Offline-PHP-System unter Windows läuft und online unter Linux/Apache,
    Schick mir ggf. mal ein Mail mit dem kompletten Code zum Testen.
    Wie wird das replace durchgeführt ? ereg_replace, preg_replace ?

    Gruss Michael