我有一个专用的自定义插件,我只在我的多个站点上使用,由于我做了很多调试,我发现包含wp配置更容易。管理区域中的php文件内容,以确保已正确启用/禁用调试。现在我正在培训其他设计师来帮助调试,所以我想包括类似于主题/插件编辑器的行号。我使用file_get_contents()
作用有没有办法将行号添加到此输出中?
下面是获取wp config文件内容的函数:
function eriWpConfig(){
$wp_config = FALSE;
if ( is_readable( ABSPATH . \'wp-config.php\' ) )
$wp_config = ABSPATH . \'wp-config.php\';
elseif ( is_readable( dirname( ABSPATH ) . \'/wp-config.php\' ) )
$wp_config = dirname( ABSPATH ) . \'/wp-config.php\';
if ( $wp_config )
$code = esc_html( file_get_contents( $wp_config ) );
else
$code = \'wp-config.php not found\';
echo \'<pre class="code"
>Installation path: \' . ABSPATH
. "\\n\\n"
. $code
. \'</pre>\';
}
EDIT:根据Q Studio的建议,我尝试了以下操作,我只是在输出的开头返回第0行。
if ( $wp_config ) {
$string = file_get_contents( $wp_config );
$lines = explode(\'\\n\', $string);
$modified_lines = [];
$line_count = 0;
foreach($lines as $line){
$modified_lines[] = \'Line \'.$line_count.\' \'.$line;
}
$code = esc_html( implode(\'<br>\', $modified_lines) );
} else {
$code = \'wp-config.php not found\';
}
SO网友:Michael
在Q Studio和我自己研究的帮助下,我发现使用PHP\\U EOL进行爆炸是可行的。这是我修改过的代码:
function eriWpConfig(){
$wp_config = FALSE;
if ( is_readable( ABSPATH . \'wp-config.php\' ) )
$wp_config = ABSPATH . \'wp-config.php\';
elseif ( is_readable( dirname( ABSPATH ) . \'/wp-config.php\' ) )
$wp_config = dirname( ABSPATH ) . \'/wp-config.php\';
if ( $wp_config ) {
$string = file_get_contents( $wp_config );
$lines = explode(PHP_EOL, $string);
$modified_lines = [];
$line_count = 0;
foreach($lines as $line){
$modified_lines[] = \'<span style="color: #ccc;">Line: \'.sprintf("%03d", $line_count).\' | </span>\'.esc_html($line);
$line_count ++;
}
$code = implode(\'<br>\', $modified_lines);
} else {
$code = \'wp-config.php not found\';
}
echo \'<pre class="code"
>Installation path: \' . ABSPATH
. "\\n\\n"
. $code
. \'</pre>\';
}