php中的set_magic_quotes_runtime()作用和用法
set_magic_quotes_runtime 用来设置php.ini文件中的magic_quotes_runtime值,当遇到反斜杆(\)、单引号(')、双引号(")这样一些的字符定入到数据库里,又不想被过滤掉,使用这个函数,将会自动加上一个反斜杆(\),保护系统和数据库的安全。
magic_quotes_runtime 是php.ini里的环境配置变量,0和false表示关闭本功能,1和true表示打开本功能。当magic_quotes_runtime打开时,所有外部引入的数据库资料或者文件等都会自动转为含有反斜线溢出的资料,
设置方法如下:
1、可以直接在php.ini里面设置为ON
2、set_magic_quotes_runtime(true)或者set_magic_quotes_runtime(1)
3、用ini_set函数,ini_set(magic_quotes_runtime,1);
示例:
<?php
$fp=tmpfile(); //以读写模式建立一个具有唯一文件名的临时文件,文件会在关闭后自动被删除
fwrite($fp,'\'PHP\' is a Recursive acronym'); //写入数据
rewind($fp); //指针倒回文件的开头
set_magic_quotes_runtime(0);
echo 'Without magic_quotes_runtime:'.fread($fp,1024).'<br />'; //从文件中读取1k
rewind($fp);
set_magic_quotes_runtime(true);
echo 'With magic_quotes_runtime:'.fread($fp,1024);
fclose($fp);//关闭文件
?>
运行结果:
Without magic_quotes_runtime:'PHP' is a Recursive acronym
With magic_quotes_runtime:\'PHP\' is a Recursive acronym