阅读php文件的第一行

时间:2013-06-15 18:12:30

标签: php

我的网站文件夹里有几十个php文件。所有这些都在一开始就有一条注释行:

//This is a php file

每当我包含一个文件时,我想检查它是否在开头有以下注释行。我该如何处理?

3 个答案:

答案 0 :(得分:1)

使用此:

$f = fopen('yourFile.php', 'r');
$line = fgets($f);
fclose($f);

(资料来源:Quickest Way to Read First Line from File

然后你可以检查$line,如下:

if (strpos($line,'//This is a php file') !== false) {
    echo 'true'; //Found
}

注意:如@salathe所述,您需要执行以下操作:PHP: Read Specific Line From File

答案 1 :(得分:0)

$file = 'text.php';
if($f = fopen($file, 'r')){
  $line = fgets($f); // read until first newline
  fclose($f);
}

其中text.php是您包含的文件。

答案 2 :(得分:0)

不完全回答您的问题,但可能是更好的解决方案,用于检查包含文件是否实际上是您系统的一部分:

您的主文件(包括其他文件)包含以下行:

define("SYSTEM_LOADED",true);

或使用不同的全局变量。 现在在包含文件测试中如此:

if(!defined("SYSTEM_LOADED")) die("System is not loaded");

此方法将测试放在包含的文件中,而不是主文件中。您的方法的缺点是每个文件都必须打开文件,这对于一个或几个文件来说很好,但是在多个文件之后会对您的应用程序产生影响。