set_magic_quotes_runtime

(PHP 4, PHP 5)

set_magic_quotes_runtimemagic_quotes_runtime の現在アクティブな設定をセットする

説明

bool set_magic_quotes_runtime ( bool $new_setting )

magic_quotes_runtime の現在アクティブな設定をセットします。

警告

この関数は PHP 5.3.0 で 非推奨となりました。 この機能を使用しないことを強く推奨します。

エラー / 例外

PHP 5.3 以降ではこの関数は非推奨となり、実行すると E_DEPRECATED が発生するようになりました。 PHP 5.4 以降では、マジッククォートを有効にしようとして、さらに E_CORE_ERROR も発生するようになりました。

パラメータ

new_setting

FALSE はオフ、TRUE はオンを表します。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 set_magic_quotes_runtime() の例

<?php
// 一時的なファイルポインタを作成します
$fp tmpfile();

// データをポインタに書き込みます
fwrite($fp'\'PHP\' is a Recursive acronym');

// magic_quotes_runtime なしの場合
rewind($fp);
set_magic_quotes_runtime(false);

echo 
'Without magic_quotes_runtime: ' fread($fp64), PHP_EOL;

// magic_quotes_runtime ありの場合
rewind($fp);
set_magic_quotes_runtime(true);

echo 
'With magic_quotes_runtime: ' fread($fp64), PHP_EOL;

// 後始末
fclose($fp);
?>

上の例の出力は以下となります。

Without magic_quotes_runtime: 'PHP' is a Recursive acronym
With magic_quotes_runtime: \'PHP\' is a Recursive acronym

参考

add a note add a note

User Contributed Notes 5 notes

up
7
gusb at NOSPAM dot mailinator dot com
3 years ago
You should NEVER rely on magic quotes or addslashes for security in an SQL context. You should ALWAYS use proper escape functions, such as mysql_real_escape_string. Failure to do so may result in an SQL injection vulnerability.
up
3
serpent at paradise dot net dot nz
2 years ago
Be aware that even using ini_set to set 'magic_quotes_runtime' will stop working in PHP 5.4.  See http://php.net/manual/en/info.configuration.php#ini.magic-quotes-runtime
up
2
Anonymous
1 year ago
A simple check and disabling of magic quotes whenever needed (e.g. if you deploy to multiple servers or you don't know the target server's PHP version).

<?php
if(version_compare(PHP_VERSION, '5.3.0', '<')){
   
set_magic_quotes_runtime(0);
}
?>
up
-5
php at nospam-qualystem dot com
11 years ago
get_magic_quotes runtime and set_magic_quotes_runtime are useful when you want to read some data in a binary file using fread() and some bytes in such file may be interpreted as \ (backslash), " (double quotes), ' (simple quote) or any "special" character that has a meaning for string processing.
up
-17
Anonymous
4 years ago
Since this function is depracted as of PHP 5.3, use ini_set('magic_quotes_runtime', 0); instead.
To Top