使用file_put_contents在.php文件中插入代码

时间:2017-10-02 20:16:24

标签: php smarty

假设我有一个.php文件,我想在不更改原始文件的情况下插入新的代码行。

示例:

require_once 'includes/application_top.php';
$smarty = new Smarty;
require  DIR_FS_CATALOG . 'templates/' . CURRENT_TEMPLATE . '/source/boxes.php';
include  DIR_WS_MODULES . 'default.php';
require  DIR_WS_INCLUDES . 'header.php';
$smarty->assign('language', $_SESSION['language']);

在第3行和第4行之间,我想插入file_put_contents的任何代码。 是否可以通过file_get_contents读取文件并插入任何代码?

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的问题,你在外部文件中有php代码,你想使用另一个php代码在其内容中添加新行,如果这是正确的,你可以使用以下代码:

<?php

$content = file_get_content("a.php");

function add_new_line($content, $insert_code, $line_number){
	$lines = explode("\n", $content);
	$segment_1 = array_slice($lines, 0, $line_number);
	$segment_2 = array_slice($lines, $line_number, count($lines) - 1);
	array_push($segment_1, $insert_code);
	$lines = array_merge($segment_1, $segment_2);
	return $str = implode("\n", $lines);
}


$line_number = 3;
$insert_code = "echo 'this is new line';";

// add new line of code to the content
$new_content = add_new_line($content, $insert_code, $line_number);

// insert new file content:
file_put_content("a.php", $new_content);

我希望这对你有用