偶然发现了一个恼人的问题。
我需要以编程方式从 php 文件中提取特定的文本行。(它是评论中的插件版本号)
看起来很简单,但是我试图读取的文件中包含一个函数,就试图打开它的脚本而言,该函数是未定义的。
无论如何我可以使用 PHP 的内置函数读取文件,到目前为止 file_get_contents()、file() 和 readfile() 都遇到同样的问题。
任何帮助将不胜感激。
- - - - - - - - - - - - - - - - - - - - - - 更新
好吧,看来我之前的错误一定是由于缓存问题,因为它似乎在没有任何未定义函数错误的情况下工作,尽管现在我的返回数组似乎是空的?
阅读器脚本
<?php
//some other code
//lines in question
$lines = file('path/to/file.php');
$data['Version']=$lines[6];
?>
正在读取的文件
<?php
/*
Plugin Name: Wordfence Security
Plugin URI: http://www.wordfence.com/
Description: Wordfence Security - Anti-virus, Firewal and Site Speedup
Author: Wordfence
Version: 5.0.6
Author URI: http://www.wordfence.com/
*/
if(defined('WP_INSTALLING') && WP_INSTALLING){
return;
}
define('WORDFENCE_VERSION', '5.0.6');
if(get_option('wordfenceActivated') != 1){
add_action('activated_plugin','wordfence_save_activation_error'); function wordfence_save_activation_error(){ update_option('wf_plugin_act_error', ob_get_contents()); }
}
if(! defined('WORDFENCE_VERSIONONLY_MODE')){
if((int) @ini_get('memory_limit') < 64){
if(strpos(ini_get('disable_functions'), 'ini_set') === false){
@ini_set('memory_limit', '64M'); //Some hosts have ini set at as little as 32 megs. 64 is the min sane amount of memory.
}
}
require_once('lib/wordfenceConstants.php');
require_once('lib/wordfenceClass.php');
wordfence::install_actions();
}
?>