Andre: Problem mit IF und !=

Hallo,
ich habe ein Problem und weiss nicht weiter ;-)

Hier mein Skript:

<?PHP
  $verz=opendir ('./ref/still');
  while ($file = readdir ($verz)) {
  if ($file != "." or $file != ".." ){
  echo "$file <br>";
  }}
  closedir($verz);
  ?>

Ich versuche hier mittels IF, bei der Ausgabe .. und . auszufiltern.
Leider wird .. und . trotzdem ausgegeben.

Bei:
if ($file == "." or $file == ".." ){
wird seltsamer Weise nur . und .. ausgegeben.

Weiss jemand weiter?

Beste Grüsse,
Andre

  1. Hi,

    if ($file != "." or $file != ".." ){

    wenn $file ein String ist, so ist es unmöglich, dass er sowohl "." als auch ".." ist. Eine der beiden Bedingungen ist also garantiert wahr; die Oder-Verknüpfung zweier Werte, von denen einer wahr ist, ist ebenfalls wahr.

    Bei:
    if ($file == "." or $file == ".." ){
    wird seltsamer Weise nur . und .. ausgegeben.

    Nun, diese Bedingung trifft ja auch nur zu, wenn der String entweder "." oder ".." ist.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo Andre,

    if ($file != "." or $file != ".." ){
      [...]

    Ich versuche hier mittels IF, bei der Ausgabe .. und . auszufiltern.
    Leider wird .. und . trotzdem ausgegeben.

    Natürlich. Das hast du so ja auch hingeschrieben.
    Wörtlich übersetzt:
    Wenn $file nicht "." _oder_ $file nicht ".." ist, dann...

    Richtig wäre:
    Wenn $file nicht "." _und_ $file nicht ".." ist, dann...

    Grüße

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
  3. Danke an beide!