0

我正在为我的网站构建一个简单的聊天框(没有数据库,输入保存为 txt 文件和图像),用户可以在其中共享图像和发送文本。到目前为止,这是我想出的:

   $log = glob(__DIR__.'/chatlog/*');
   foreach($log as $file){
      if(pathinfo($file, PATHINFO_EXTENSION) === "jpg" || "jpeg" || "png"){
            $name = basename($file);
            echo "<div><img style='width: 150px;' src='chatlog/$name'alt='failed to load'</div>";
      }
      
     if(pathinfo($file, PATHINFO_EXTENSION) === "txt"){
        $line = file($file);
        echo $line[0];
     }
  }

问题是在第一个 if 中,文本文件被包含在内,因此它返回一个损坏的图像。

在此处输入图像描述

如何在第一个 if 中排除文本文件?

4

1 回答 1

0

我会这样做

if((pathinfo($file, PATHINFO_EXTENSION) === "jpg" || "jpeg" || "png") && pathinfo($file, PATHINFO_EXTENSION) !== "txt"){
    $name = basename($file);
    echo "<div><img style='width: 150px;'src='chatlog/$name'alt='failed to load'</div>";
}
于 2022-02-18T11:08:34.167 回答