2017-10-02 2 views
0

Angenommen, ich habe eine .php-Datei, und ich möchte eine neue Codezeile einfügen, ohne die ursprüngliche Datei zu ändern.Code in .php-Datei mit file_put_contents einfügen

Beispiel:

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']); 

Zwischen Zeile 3 und 4 Ich mag würde jeden Code mit file_put_contents einzufügen. Ist es möglich, die Datei von file_get_contents lesen und Code eingeben?

+0

Versuchen ein() Erklärung enthalten. – Blaise

+0

Ich verstehe nicht, was Sie versuchen zu tun. Wenn Sie 'file_put_contents' verwenden, wird die ursprüngliche Datei geändert. – Barmar

+1

Ich wette, es gibt einen besseren Weg, um das zu erreichen, was Sie wollen. Könnten Sie bedingte Logik oder etwas verwenden? – dan08

Antwort

0

Wenn ich Ihre Frage richtig verstanden habe, haben Sie PHP-Code in externe Datei und Sie wollen neue Zeile zu seinem Inhalt fügen Sie eine weitere PHP-Code verwenden, wenn das Recht können Sie den folgenden Code verwenden:

<?php 
 

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

 
function add_new_line($content, $insert_code, $line_number){ 
 
\t $lines = explode("\n", $content); 
 
\t $segment_1 = array_slice($lines, 0, $line_number); 
 
\t $segment_2 = array_slice($lines, $line_number, count($lines) - 1); 
 
\t array_push($segment_1, $insert_code); 
 
\t $lines = array_merge($segment_1, $segment_2); 
 
\t 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);

ich hoffe, dies ist nützlich für Sie

+0

Dies ist sinnvoll, wenn es sich um einen Job handelt, der genau einmal in der Datei ausgeführt wird. Wenn dieser Code ausgeführt wird, wenn Benutzer auf eine Seite zugreifen, anstatt eine private URL zu verwenden, wird in a.php der zusätzliche Code immer wieder hinzugefügt. –