file_exists mit array, gehts auch einfacher ?

pnx

Mitglied
Hi,

das Script soll ein Bild anzeigen, das entweder gif oder jpg ist.
Meine Variante funktioniert zwar, aber es dürfte auch einfacher gehen.
Am liebsten wäre mir eine Möglichkeit in der nur einmal die if-Bedingung vorkommt, weil ich das Script eventuell noch für mehr Dateitypen verwenden will.
Eventuell über eine while-Schleife, bin mir da aber nicht sicher wie das dann aussehen soll.

PHP:
$extensions = array('.jpg','.gif');

if (file_exists("admin/avatar/".$profil[nick]$extensions[0] )) 
  { echo "<img src='admin/avatar/$profil[nick]$extensions[0]'>"; };

if (file_exists("admin/avatar/".$profil[nick]$extensions[1] )) 
  { echo "<img src='admin/avatar/$profil[nick]$extensions[1]'>"; };

pnx
 
PHP:
$extensions = array('.jpg','.gif');
for ($x = 0; $x < count($extensions); $x++) {
  if (file_exists("admin/avatar/".$profil[nick].$extensions[$x] )) {
    echo '<img src="admin/avatar/'.$profil[nick].$extensions[$x].'">';
  }
}
 
PHP:
$extensions = array('.jpg','.gif');

foreach($extensions as $key=>$val) {
   if (file_exists( "admin/avatar/" . $profil[nick] . $val))
      echo "<img src='admin/avatar/" . $profil[nick] . $val . "'>";
}
so sollte er das ganze array durchlaufen und nachschaun

Gruß
TiM

[edit]
meins hat nur 3 Zeilen *lacht*
[/edit]
 
Zuletzt bearbeitet:
PHP:
function printImage($a_sNick, $a_aExt)
{
    foreach ($a_aExt as $sExtension) {
        $sPath = sprintf('admin/avatar/%s.%s', $a_sNick, $sExtension);
        if (file_exists($sPath)) {
            printf('<img src="%s" alt="Avatar" />', $sPath);

            return true;
        }
    }

    return false;
}

Edit: zu spät
 
Zurück