Diamo: If-Anweisung reagiert nicht

Guten Tag,

ich hab mir ein Script programmiert, das Informationen aus einer Datei ausliest und dann als Bild und Text ausgibt. Dies funktioniert ja wunderbar. Mein Problem ist aber, dass er garkeine Bilder mehr anzeigt, wenn ich die If-Anweisung einfüge.
Link zur Datei: http://www.styleworker.de/koala/uploads/info.txt
Link zur Seite: http://www.styleworker.de/koala/?link=content_pics

Quellcode:
<table width="100%" border="0" cellspacing="5" cellpadding="0">
 <tr align="center">
<?php
$datei = file("uploads/info.txt");

for ($i=0;$i<count($datei);$i++) {
$split[$i] = explode("#",$datei[$i]);
echo $split[$i][2];
if ($array[$i][2]=="pics")
{
echo "<td valign='top' align='center' class='copytext'><a href=uploads/pics/".$split[$i][0]." target=_blank><img src=uploads/pics/". $split[$i][0] ." height=100 width=150 border=0></a><br>". $split[$i][1] ."</td>";
if ((($i + 1) % 3 == 0) && ($i != 0)) echo"</tr><tr>";
}}

?>
  <td colspan=3></td>
 </tr>
</table>

  1. hi,

    Mein Problem ist aber, dass er garkeine Bilder mehr anzeigt, wenn ich die If-Anweisung einfüge.

    if ($array[$i][2]=="pics")

    du hast an dieser stelle kontrollausgaben der werte eingebaut, um zu überprüfen, ob überhaupt ein element den wert "pics" hat ...?

    nein, hast du nicht - sonst wäre dir nämlich aufgefallen, dass file() den zeilenumbruch hinter den zeilen am stringende stehen lässt, so dass "pics\n" in den elementen stehen dürfte, und nicht "pics".

    gruss,
    wahsaga

    1. Also habe das so probiert, aber es funktioniert auch nicht.

      1. Hallo Diamo,

        Also habe das so probiert, aber es funktioniert auch nicht.

        was hast du genau probier? Wie sieht den Code jetzt aus? Was gibt ein echo $array[$i][2]; aus? (in den Quelltext schauen, nicht das was der Browser anzeigt). Hast du mal versucht die Zeilenumbrüche vor dem if z.B. mit trim() (->http://www.php.net/trim) zu entfernen?

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Super funktioniert jetzt ! Doch leider zeigt er die Tabelle nicht mehr richtig an. Er sollte normal 3 Bilder pro Zeile anzeigen.
          Was stimmt da nicht ?
          Link: http://www.styleworker.de/koala/?link=content_pics

          <table width="100%" border="0" cellspacing="5" cellpadding="0">
           <tr align="center">
          <?php
          $datei = file("uploads/info.txt");

          for ($i=0;$i<count($datei);$i++) {
          $split[$i] = explode("#",$datei[$i]);
          if (trim ($split[$i][2])=="pics"){
          echo "<td valign='top' align='center' class='copytext'><a href=uploads/".trim ($split[$i][2])."/".$split[$i][0]." target=_blank><img src=uploads/".trim ($split[$i][2])."/". $split[$i][0] ." height=100 width=150 border=0></a><br>". $split[$i][1] ."</td>";
          if ((($i + 1) % 3 == 0) && ($i != 0)) echo"</tr><tr>";
          }}

          ?>
           </tr>
          </table>