PHP如果目录中的所有文件都为空,如何显示“文本为空”?

时间:2014-02-23 09:56:32

标签: arrays foreach dir

假设我的目录“my_dir /”包含以下文件:

file1.php
file2.php
file3.php
...

并假设每个文件都不为空..

<div id="file_data">
<?php $my_dir = glob("my_dir/*.php"); ?>  

<!-- This will display all files -->
<?php foreach($my_dir as $file) { ?>
<?php include $file; ?><br>
<?php } ?>
</div>

如果全部或部分文件不为空,则会在我的页面中显示一些信息,但如果所有文件都为空,如何显示自定义文本?我不希望在我的页面中显示没有数据/信息。

感谢您的帮助,我是程序员初学者=)

1 个答案:

答案 0 :(得分:0)

要检查文件的内容,您只需添加

即可
return "finished"; //or some other return value

到文件的末尾并使用此代码:

<div id="file_data">
<?php $my_dir = glob("my_dir/*.php");

$content = false; //no content echoed until now
foreach($my_dir as $file) {
    $returnValue = include($file);
    if ($returnValue == "finished"){ //or some other return-value to check
        //some content was successfull echoed
        $content = true;
        echo "<br>\n";
    }
}
if (!$content){
    echo "No content here"; //or just echo something more useful
} ?>

顺便说一句,从几个文件加载你的内容并只加载该目录中的所有文件是不好的编程习惯。攻击者可以将其文件插入您的目录并插入自己的代码。另外,它是一个非PHP文件放在你的目录中(意识到它或只是一个意外),包含将导致错误,你的页面将不会被创建。我会尝试考虑将来创建您的网站的另一种方法。