文字

set_magic_quotes_runtime

(PHP 4, PHP 5)

set_magic_quotes_runtime设置当前 magic_quotes_runtime 配置选项的激活状态

说明

bool set_magic_quotes_runtime ( bool $new_setting )

设置当前 magic_quotes_runtime 配置选项的激活状态。

Warning

自 PHP 5.3.0 起,已经废弃此函数。强烈建议不要应用此函数 。

错误/异常

自 PHP 5.3 起,该函数已经被弃用,执行它的时候会抛出 E_DEPRECATED 异常。 自 PHP 5.4 起,尝试开启 magic quotes 时该函数会产生一个 E_CORE_ERROR 错误。

参数

new_setting

关闭是 FALSE ,开启是 TRUE

返回值

成功时返回 TRUE , 或者在失败时返回 FALSE

范例

Example #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 ( $fp 64 ),  PHP_EOL ;

// 有 magic_quotes_runtime
rewind ( $fp );
set_magic_quotes_runtime ( true );

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

// 清理
fclose ( $fp );
?>

以上例程会输出:

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

参见

  • get_magic_quotes_gpc() - 获取当前 magic_quotes_gpc 的配置选项设置
  • get_magic_quotes_runtime() - 获取当前 magic_quotes_runtime 配置选项的激活状态

用户评论:

[#1] Anonymous [2013-10-08 09:39:12]

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);
}
?>

[#2] serpent at paradise dot net dot nz [2012-08-02 02:56:28]

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

[#3] gusb at NOSPAM dot mailinator dot com [2011-10-10 04:14:52]

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.

[#4] Anonymous [2010-08-18 03:13:35]

Since this function is depracted as of PHP 5.3, use ini_set('magic_quotes_runtime', 0); instead.

[#5] php at nospam-qualystem dot com [2003-01-09 05:49:05]

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.

上一篇: 下一篇: