如何在php中选择多个文件扩展名

如何在php中选择多个文件扩展名,php,file,Php,File,我想选择具有多个扩展名的文件我的文件可能有不同的格式,如2.jpg或3.png或4.gif 我写了这段代码,但我不知道如何选择文件扩展名。 正如您在这行中看到的: $avatar = "/path/photo-" .$uid. ".png or jpg or gif"; 如何选择不同的扩展名 <?php $uid = "1"; $avatar = "/path/photo-" .$uid. ".png or jpg or gif"; if(!file_exists($avatar

我想选择具有多个扩展名的文件我的文件可能有不同的格式,如
2.jpg或3.png或4.gif
我写了这段代码,但我不知道如何选择文件扩展名。 正如您在这行中看到的:

$avatar = "/path/photo-" .$uid. ".png or jpg or gif";
如何选择不同的扩展名

<?php 

$uid = "1";
$avatar = "/path/photo-" .$uid. ".png or jpg or gif";

 if(!file_exists($avatar))
   {

   $noavatar_img = "http://www.myforum.com/default_thumb.png";
    header( 'Location: '.$noavatar_img.'' ) ;
}else{
    $avatar_img = "http://www.myforum.com/photo-" . $uid . ".png or jpg or gif";
    header( 'Location: '.$avatar_img.'' ) ;
}
 ?>

创建一个允许扩展名的数组,迭代该数组并检查文件是否存在。 如果是,重定向到它。如果未重定向到默认值:

<?php 
$uid = "1";
$extensions = ['.jpg','.jpeg','.png','.gif'];
foreach($extensions as $ext){

    if(file_exists("/path/photo-" .$uid. $ext){
        $avatar_img = "http://www.myforum.com/photo-" . $uid . $ext;
        header( 'Location: '.$avatar_img);
        die(); //end script execution 
    }
}
$noavatar_img = "http://www.myforum.com/default_thumb.png";
header( 'Location: '.$noavatar_img) ;
尝试以下代码:

$uid = "1";
$extensions = array('.png', '.jpg', '.gif');
foreach($extensions as $extension)
{
  $avatar = "/path/photo-" . $uid . $extension;
  if(file_exists($avatar)){
    $avatar_img = "http://www.myforum.com/photo-" . $avatar
    header( 'Location: '.$avatar_img.'' ) ;
  }
}

$noavatar_img = "http://www.myforum.com/default_thumb.png";
header( 'Location: '.$noavatar_img.'' ) ;

对于要接受的扩展,可以使用数组。然后,您可以循环遍历所述数组,并将每个扩展名附加到文件名,每次都检查它是否存在。这是什么逻辑?我不明白。创建一个包含3个扩展名的数组,检查是否存在任何扩展名。这不起作用。它将在第一次迭代时重定向。另外,您的重定向已返回到frontIt仍然无法工作。如果文件是jpg或gif,它将永远不会被使用,因为循环的第一次迭代将在检查其他扩展之前检查png,找不到它并重定向到默认值