1

魔法の引用を打ち消すために、私はこの関数をすべてのページの上部に設定しています。ただし、フォームに配列がある場合は影響があるよう<input type="checkbox" name="check[]" />です。

if ( in_array( strtolower( ini_get( 'magic_quotes_gpc' ) ), array( '1', 'on' ) ) ) {
    $_POST = array_map( 'stripslashes', $_POST );
    $_GET = array_map( 'stripslashes', $_GET );
    $_COOKIE = array_map( 'stripslashes', $_COOKIE );
}

関数を削除すると、配列を出力するときに完全な配列が返されました。しかし、私は魔法の引用符をオフにする必要があります。

機能を使って、私はちょうどArray戻ってきます。

上記の機能を変更したり、この問題を解決するにはどうすればよいですか?

ありがとう

4

2 に答える 2

0

あなたが使用することができますarray_walk_recursive

function gpc_stripslashes(&$value, $key) {
    $value = stripslashes($value);
}
array_walk_recursive($_GET, 'gpc_stripslashes');

またはPHP5.3の方法(ただし、5.3ではmagic_quotes_gpcはデフォルトでオフになっています):

array_walk_recursive($_GET, function (&$value, $key) {
    $value = addslashes($value);
});
于 2011-02-16T20:25:34.647 に答える
0

ファイルと実行時の両方で、魔法の引用符を無効にする方法について、php Web サイトに優れたページがあります。.ini自家製のものではなく、彼らのコードを使用することを強くお勧めします。

于 2011-02-16T20:11:31.480 に答える