当前位置: 首页 > 面试题库 >

用PHP中的@运算符抑制错误

公羊雅达
2023-03-14
问题内容

您认为在PHP中使用@运算符来抑制错误/警告是否有效,而您可能正在处理该错误?

如果是这样,您将在什么情况下使用它?

欢迎使用代码示例。

编辑:注释给回复者。我不想关闭错误报告功能,但是,例如,通常的做法是使用

@fopen($file);

然后再检查…但是您可以通过执行以下操作来消除@

if (file_exists($file))
{
    fopen($file);
}
else
{
    die('File not found');
}

或类似。

我想问题是-是否有@HAS可以用来阻止错误,并且不能以任何其他方式处理?


问题答案:

我将抑制该错误 并进行处理 。否则,您可能会遇到 TOCTOU
问题(检查时间,使用时间。例如,在file_exists返回true之后但在fopen之前,文件可能会被删除)。

但是我不会仅仅抑制错误以使它们消失。这些更好地可见。



 类似资料:
  • 本文向大家介绍PHP错误控制运算符,包括了PHP错误控制运算符的使用技巧和注意事项,需要的朋友参考一下 介绍 在PHP中,将@符号定义为错误控制运算符。当它以任何表达式为前缀时,PHP解析器在执行时遇到的任何错误都将被抑制,并且该表达式将被忽略。 以下代码尝试打开一个不存在的文件进行读取操作,但是PHP解析器报告警告 示例 输出结果 将显示以下结果 在fopen()表达式前添加@符号可抑制错误消息

  • 这里我想连接数据库,然后特意输错了里面的登录信息,然后我用if语句,按理说如果输错了信息,应该提示的是我if语句里面的错误,为什么系统总是报fatal error,是我一开始的配置文件出错了,还是哪里有问题啊?有谁可以教教我不?错误抑制符也没用但是如果我输入正确的密码和相关登录信息还是可以正常使用的) 希望可以按着if语句里面的结果来显示

  • 主要内容:PHP 算术运算符,实例,实例,PHP 赋值运算符,实例,实例,PHP 递增/递减运算符,实例,PHP 比较运算符,实例,PHP 逻辑运算符,PHP 数组运算符,实例,三元运算符,实例,实例,组合比较符(PHP7+),实例,运算符优先级,实例,实例本章节我们将讨论 PHP 中不同运算符的应用。 在 PHP 中,赋值运算符 = 用于给变量赋值。 在 PHP 中,算术运算符 + 用于把值加在一起。 PHP 算术运算符 运算符 名称 描述 实例 结果 x + y 加 x 和 y 的和 2 +

  • 问题内容: 什么是(等号号)赋值运算符做PHP? 是否已弃用? 问题答案: 它没有被弃用,也不太可能被弃用。例如,这是一种标准方法,可以对一个数组或对象镜像进行更改,而对另一数组进行更改,而不是复制现有数据。 这称为 按引用赋值,引用 引用该手册,“意味着两个变量最终都指向相同的数据,而没有任何内容被复制到任何地方”。 不赞成使用的唯一方法 是 PHP 5中的 “通过引用分配结果” ,这可能是造成

  • 本文向大家介绍浅谈PHP中的<<<运算符,包括了浅谈PHP中的<<<运算符的使用技巧和注意事项,需要的朋友参考一下 PHP中提供了<<<运算符构建多行字符串序列的方法,通常称为here-document或表示为heredoc的简写。 这种方法详细表述了字符串的字面值,并在文本中保留了字符串的下划线和其他空格(包括缩进)。例如: PHP解析器会将两个_END标签中间的所有内容输出,就相当于一个用双引

  • 问题内容: double not 运算符在PHP中做什么? 例如: 上面的代码会做什么? 问题答案: 这不是“ double not运算符”,它是两次应用的 not 运算符。 无论操作数如何, 该权利都将导致布尔值。然后左边将否定该布尔值。 __ 这意味着对于任何真值(非零的数字,非空字符串和数组等),您将获得布尔值,对于任何假值(0、0.0 、、空字符串或空数组),您将获得布尔值。 它在功能上等