我需要浏览文件夹中的php文件,即列出该文件夹中的所有php文件,读取每个文件的内容,检查代码中是否存在少量预定义变量名称,如果存在则读取其值。< / p>
例如,假设某个特定的php文件包含以下变量。
$value1 = 'value of one';
$value2 = 'value of two';
然后我的脚本应该能够读取该文件的内容,提取$ value1和$ value2的值。
有没有更简单的方法呢。
如果你能提出一个解决方案并且非常感激,那真是一个很好的帮助。
我认为正则表达式有帮助,但我不明白如何构建表达式以匹配代码中的变量名称。到目前为止,我没有代码与我,如果我进一步澄清我正在寻找匹配/搜索模式类似于变量名称的正则表达式或类似解决方案,varibale名称在高级已知。
假定搜索变量被找到,然后用于提取在代码中分配的变量值&#39; ,我看到的可能的解决方案是字符串操作,我的意思是用空字符串替换包含变量值而不是变量值的行的内容。除了有一种方法可以获得价值。
假设在代码中,
所以正则表达式或其他解决方案是搜索字符串&#34; $ value1&#34; &安培; &#34; $值2&#34;
然后应该可以读出一个&#39;的价值。 &安培; &#39;值两个&#39;作为代码字符串中检测到的各个变量的值。答案 0 :(得分:0)
您可以执行以下操作require
或include
文件,并比较$GLOBALS
- 之前和之后的数组值。当然,如果包含的文件包含其他立即执行的代码,这将不起作用。
答案 1 :(得分:0)
您可以使用PHP反射来检查类。例如
<?php
class Foo {
public $foo = 1;
public $bar = 2;
}
$foo = new Foo();
$reflect = new ReflectionClass($foo);
$props = $reflect->getProperties();
foreach ($props as $prop) {
print "Property Name: " . $prop->getName() . "\n";
print "Property Value: " . $prop->getValue($foo) . "\n";
}
迭代可以使用glob
的文件的目录我希望这能解决你的问题。