php-如何回显目录中每个文本文件的内容?

我创建了一个目录,其中包含一些文件

> index.PHP
> one.txt
> two.txt
> three.txt
> four.txt

在index.PHP页面中,我当前正在使用以下代码来回显目录中的所有文件

<?PHP
$blacklist = array("index.PHP");

if ($handle = opendir('.')) {

    while (false !== ($entry = readdir($handle))) {

        if ($entry != "." && $entry != ".." &&  !in_array($entry, $blacklist)) {
            echo "$entry\n";
        }

    }

    closedir($handle);
}
?>

现在,如果有人查看index.PHP页面,这将是他们看到的:

one.txt two.txt three.txt four.txt

PHP代码中可以看到,index.PHP已被列入黑名单,因此不会被回显.

但是,我想更进一步,回显每个文本文件而不是文件名的内容.使用新的PHP代码(我需要创建帮助),每当有人访问index.PHP页面时,他们现在将看到:

(请忽略星号中的内容,它们不是代码的一部分,它们仅指示每个文本文件包含的内容)

Hello  ** this is what the file **one.txt** contains **

ok  ** this is what the file **two.txt** contains **

goodbye  ** this is what the file **three.txt** contains **

text  ** this is what the file **four.txt** contains **

总体:

除了index.PHP,我想回显目录中每个文件内容(它们都是文本文件).

解决方法:

您可以使用file_get_contents文件放入字符串中.

<?PHP
   $blacklist = array("index.PHP");

   if ($handle = opendir('.')) {

      while (false !== ($entry = readdir($handle))) {

          if ($entry != "." && $entry != ".." &&  !in_array($entry, $blacklist)) {
              echo "$entry " . file_get_contents($entry) . "\n";
          }

       }

      closedir($handle);
   }
?>

此外,您可以使用PHPglob函数仅过滤掉.txt文件,这样,如果您要向该目录添加更多需要忽略的文件,则不必将其列入黑名单.

这是使用glob函数完成的方式.

<?PHP
   foreach (glob("*.txt") as $filename) {
      echo "$filename " . file_get_contents($filename) . "\n";
   }
?>

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...