PHP Velho Oeste 2024

set_magic_quotes_runtime

(PHP 4, PHP 5)

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

警告

この関数は PHP 5.3.0 で 非推奨 となり、 PHP 7.0.0 で 削除 されました。

説明

set_magic_quotes_runtime ( bool $new_setting ) : bool

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

エラー / 例外

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 4 notes

up
9
serpent at paradise dot net dot nz
11 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
8
gusb at NOSPAM dot mailinator dot com
12 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
-2
Anonymous
10 years 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
-11
php at nospam-qualystem dot com
21 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.
To Top