0

5.3.3を実行しているPHPインストールがあり、以下のコードを使用すると、次のようになります。

    $sql = file('sql.txt');
    var_dump($sql);

私の一重引用符はすべてエスケープされます。なぜこれが起こっているのでしょうか。マジッククォートはサーバーで有効になっていますが(何らかの理由で、それは私の制御不能です)、マジッククォートはGET POST COOKIEとREQUESTにのみ適用されると思いましたか?最新のPHPでここに欠けているものが他にありますか?

何か案は?

4

2 に答える 2

2

magic_quotes_runtimeこれを引き起こします。ありがたいことに、この「機能」はデフォルトでオフになっていますが、サーバーで有効になっているようです。

于 2010-10-14T05:19:06.613 に答える
0

php.netから:

magic_quotes_runtimeが有効になっている場合、データベースやテキストファイルなど、あらゆる種類の外部ソースからデータを返すほとんどの関数では、引用符がバックスラッシュでエスケープされます。

于 2010-10-14T05:23:12.227 に答える