我发现this tutorial正在试用网站编辑器 除了 result.php :
中的@之外,我理解了代码中的所有内容<?php
$myCode = @$_REQUEST["code"];
print $myCode ;
?>
此外,我尝试将其从代码中删除并且没有任何更改,那么它又做了什么?
答案 0 :(得分:1)
忽略/抑制错误消息 - 请参阅PHP手册中的Error Control Operators。
PHP支持一个错误控制操作符:at符号(@)。当在PHP中添加表达式之前,将忽略该表达式可能生成的任何错误消息。
如果您使用set_error_handler()设置了自定义错误处理函数,那么它仍然会被调用,但是这个自定义错误处理程序可以(并且应该)调用error_reporting(),当触发错误的调用在此之前返回0通过@。
因此$myCode = @$_REQUEST["code"];
中的任何错误都将被忽略。
答案 1 :(得分:1)
@是PHP错误控制操作符
PHP支持一个错误控制操作符:at符号(@)。当在PHP中添加表达式时,将忽略该表达式可能生成的任何错误消息
<强>参考强>
http://php.net/manual/en/language.operators.errorcontrol.php
示例强>
<?php
/* Intentional file error */
$my_file = @file ('non_existent_file') or
die ("Failed opening file: error was '$php_errormsg'");
// this works for any expression, not just functions:
$value = @$cache[$key];
// will not issue a notice if the index $key doesn't exist.
?>