2016-04-03 21 views
-2

私は非常に簡単な検索を行い、PHPスクリプトを置き換えようとしていますが、動作しません。ここで間違っていることについて私にアドバイスをお願いしますか?ファイル内で置換して置き換えます

if(isset($_GET['fnr'])) { 
    $find = $_GET['find']; 
    $replace = $_GET['replace']; 

    $path_to_file = 'index.php'; 
    $file_contents = file_get_contents($path_to_file); 
    $file_contents = str_replace("$find","$replace",$file_contents); 
    file_put_contents($path_to_file,$file_contents); 
} 
+1

問題点を教えてください。 _うまくいきません_ではありません。 – Reversal

+0

いいえ、動作しません。理由を知らない。 – Ganga

+0

...コードをデバッグしようとしましたか? '$ _GET ['find']'は空ではありませんか?あなたは 'index.php'に対して読み書き権限を持っていますか? 'str_replace'の後に' $ file_contents'が変更されていますか? [最小、完全、および検証可能な例の作成方法](https://stackoverflow.com/help/mcve) – Reversal

答えて

0

" textfile.php

私の名前Frayne

$file_contents = str_replace("$find","$replace",$file_contents);からを削除し、私の名前も

PHP

をkonok
$find = "My name"; 
    $replace = "name"; 

    $path_to_file = 'textfile.php'; 
    $file_contents = file_get_contents($path_to_file); 
    $file_contents = str_replace($find,$replace, $file_contents); 
    file_put_contents($path_to_file,$file_contents); 

出力:

私の名前Frayne、名前も出力文字列がファイルからMyを削除

をkonok。

+0

このような構造体' $ string ''を使うのは無駄だと言えるかもしれませんが、それは問題ではありません' str_replace'は 'strings'をparamsとして受け取り、afaik' "$ string" 'は同じです'$ string'として文字列を返します。 – Reversal

+0

文字列内の' use 'は役に立たないと言う必要があります。 –

関連する問題