PHP-php 函数set_magic_quotes_runtime 报错

PHP-php 函数set_magic_quotes_runtime 报错

泛泛之交 发布于 2017-09-13 字数 646 浏览 1249 回复 3

php在发邮件的时候,邮件里添加附件。程序会对附件进行格式加密,加密函数如下:

function EncodeFile ($path, $encoding = "base64") {
if(!@$fd = fopen($path, "rb"))
{
$this->SetError($this->Lang("file_open") . $path);
return "";
}
$magic_quotes = get_magic_quotes_runtime();
set_magic_quotes_runtime(0);
$file_buffer = fread($fd, filesize($path));
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
set_magic_quotes_runtime($magic_quotes);

return $file_buffer;
}

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

想挽留 2017-10-23 3 楼

你现在使用的php版本还能用这个函数,但是以后的版本将会废弃,所以建议你不要用这个函数。
这应该是一个notice级别的错误吧。

清晨说ぺ晚安 2017-10-09 2 楼

不知道你的PHP版本是多少,如果是PHP5.3以后的版本,那是因为(set_magic_quotes_runtime())已经关闭。并且在PHP6中已经完全移除此特性。

你可以注释或者删除掉出错的行,或者是在set_magic_quotes_runtime()前面加@符号
或者是配置
;error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

晚风撩人 2017-09-28 1 楼

PHP出现Function set_magic_quotes_runtime() is deprecated...错误
是因为此方法已经没有再用。
推荐使用
ini_set("magic_quotes_runtime", 0);
或者进入php.ini里面手动修改这一选项

php5.3以后废弃了该函数,php6中将会完全删除该函数

或者不考虑性能的话加上 @ 屏蔽掉错误信息