我的网站文件夹里有几十个php文件。所有这些都在一开始就有一条注释行:
//This is a php file
每当我包含一个文件时,我想检查它是否在开头有以下注释行。我该如何处理?
答案 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");
此方法将测试放在包含的文件中,而不是主文件中。您的方法的缺点是每个文件都必须打开文件,这对于一个或几个文件来说很好,但是在多个文件之后会对您的应用程序产生影响。