我遇到了一个问题。我需要显示图像 - 位于文件夹中 - 如果扩展是.png、.jpg、.jpeg或.gif.如果扩展不是其中之一,则只需显示文件的内容(.tex)。
我做了一个有效的脚本。但它只显示其中之一(一次显示 img 或文本文件)。我需要同时展示它们。
<?php
$allFiles = scandir('post/');
$files = array_diff($allFiles, array('.', '..'));
foreach($files as $file)
{
$ext = substr(strrchr($file, '.'), 1);
if($ext = "jpg" || $ext = "png" || $ext = "jpeg" || $ext = "gif" ) {
echo "<div class=post>
<img width= 200px src=post/".$file.">
</div>";
}
else {
echo "<div class=post>
". file_get_contents("post/".$file) ."
</div>";
}
}
?>
非常感谢您的帮助。
已解决的问题:更改为 ==
<?php
$allFiles = scandir('post/');
$files = array_diff($allFiles, array('.', '..'));
foreach($files as $file)
{
$ext = substr(strrchr($file, '.'), 1);
if($ext == "jpg" || $ext == "png" || $ext == "jpeg" || $ext == "gif" ) {
echo "<div class=post>
<img width= 200px src=post/".$file.">
</div>";
}
else {
echo "<div class=post>
". file_get_contents("post/".$file) ."
</div>";
}
}
?>
试试这个:
$allFiles = scandir('post/');
$extArray = array('jpg', 'png', 'jpeg', 'gif');
foreach($allFiles as $file)
{
$ext = end(explode('.', $file));
if(in_array($ext, $extArray)) {
echo "<div class='post'>
<img width='200px' src='post/'". $file ." />
</div>";
}else {
echo "<div class='post'>"
. file_get_contents('post/'.$file)
."</div>";
}
}