Php 一次显示图像和文本文件(scandir)

Php 一次显示图像和文本文件(scandir),php,image,text,scandir,Php,Image,Text,Scandir,我有个问题。如果extencion是.png、.jpg、.jpeg或.gif,我需要显示位于文件夹中的图像。如果extencion不是其中之一,则只显示文件(.tex)的内容 我做了一个脚本。但它只显示其中一个(img或文本文件)。我需要同时给他们两个看 <?php $allFiles = scandir('post/'); $files = array_diff($allFiles, array('.', '..'));

我有个问题。如果extencion是.png、.jpg、.jpeg或.gif,我需要显示位于文件夹中的图像。如果extencion不是其中之一,则只显示文件(.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>";
            }

        }
$allFiles=scandir('post/');
$extArray=array('jpg','png','jpeg','gif');
foreach($allFiles作为$file)
{   
$ext=end(分解('.',$file));
if(在数组中($ext,$extArray)){
回声“
";
}否则{
回声“”
.file_get_内容('post/'.$file)
."";
}
}

这将非常有用。您需要将if子句中的
=
更改为
=
,以进行比较,否则这将是一项作业。@CharlotteDunois非常感谢您。。。这很好用