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

时间:2014-11-14 11:40:45

标签: php file

我想选择具有多个扩展名的文件,我的文件可能有不同的格式,例如2.jpg or 3.png or 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.'' ) ;
}
 ?>

2 个答案:

答案 0 :(得分:1)

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

<?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) ;

答案 1 :(得分:1)

试试这段代码:

$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.'' ) ;