0

PHPファイルの一部だけを変更するにはどうすればよいですか。実際に変数を追加するか、既存の php ファイルで単一の変数を変更します。次のように試しましたが、これによりすべてが消去され、「I love PHP」というテキストのみがエコーされます。

$myFile = '../new_folder_name/index.php'; 
$myContent = 'I love PHP'; 

file_put_contents($myFile, utf8_encode($myContent));

たとえば、10 に等しい $test という名前の変数を追加する$test="10";か、既存の変数$testを 10 に変更します。

4

2 に答える 2

1

私はphpファイルでphpファイルを作成しています

<?php
$dir = "../new_folder_name";

$file_to_write = "index.php";

$content_to_write = '


PHP CODE COMES HERE
$test= GET ('SOMETHING')


';

if( is_dir($dir) === false )
{
mkdir($dir);
}

$file = fopen($dir . '/' . $file_to_write,"w");

fwrite($file, $content_to_write);

fclose($file);

include $dir . '/' . $file_to_write;
?>

$test 変数の値がすべてのファイルに異なるようにします。ファイルの作成後に、作成されたファイルの変数の値を変更できるようにしたかった

于 2013-10-16T14:54:01.930 に答える
0

新しいコンテンツを追加するためにこれを試してください

$myFile = '../new_folder_name/index.php'; 
$myContent = 'I love PHP';
$file=fopen($myFile,"a");
fputs($file,$myContent);
fclose($file);

変数を操作するには、php ファイルを通常のテキスト ファイルとして処理する必要があります。

function get_str_btwn($string, $start, $end)//an function to get string between two string in an string
{
    $string = " " . $string;
    $ini    = strpos($string, $start);
    if ($ini == 0)
        return "";
    $ini += strlen($start);
    $len = strpos($string, $end, $ini) - $ini;
    return substr($string, $ini, $len);
}
$file=file_get_contents($myFile);
if(substr_count($file,"$myContent"))
$file=str_ireplace(get_str_btwn($file,"$myContent =",";"),"I love PHP",$file);//Assuming format of php file is $myContent is initialized like $myContent="something"; 
else
$file=str_ireplace("<?php","<?php $myContent = 'I love PHP';",$file);

このコードは非常に機密性が高く、生成された php ファイルでエラーが発生する可能性があることに注意してください。php ファイルの形式が確かでない限り、通常の使用はお勧めしません。

于 2013-10-16T14:58:51.053 に答える