📌  相关文章
📜  如何处理PHP中 file_get_contents()函数的警告?

📅  最后修改于: 2022-05-13 01:56:40.250000             🧑  作者: Mango

如何处理PHP中 file_get_contents()函数的警告?

PHP中的file_get_contents()函数是一个内置函数,用于将文件读入字符串。该函数使用服务器支持的内存映射技术,从而增强了性能,使其成为读取文件内容的首选方式。
要读取的文件的路径作为参数发送给函数,成功时返回读取的数据,失败时返回 FALSE。

返回值:成功返回读取数据,失败返回FALSE。

错误和异常:

  • 如果要打开带有特殊字符(例如空格)的文件,则需要先使用 urlencode() 对其进行编码。
  • file_get_contents()函数返回布尔值 FALSE,但也可能返回计算结果为 FALSE 的非布尔值。
  • 如果找不到文件名、最大长度小于零或查找流中指定的偏移量失败,则会生成 E_WARNING 级别错误。

例子:

Input:  file_get_contents('https://www.geeksforgeeks.org/');
Output: A computer science portal for geeks

Input:  file_get_contents('gfg.txt', FALSE, NULL, 0, 14);
Output: A computer science portal for geeks

方案一:

PHP


PHP


PHP


PHP


运行时错误:


输出:

It will redirect to GeeksforGeeks Home Page

方案二:

PHP


运行时错误:

输出:

It will display the content of gfg.txt file.
For Example: A computer science portal for geeks

很明显,我们可以看到以PHP警告形式出现的上述运行时错误,这确实是出乎意料的。这里出现了删除这些错误的问题,有没有办法处理这些错误?
是的, PHP为我们提供了一个简单的解决方案。

PHP支持一种错误控制运算符:符号 (@)。当附加到PHP中的表达式时,该表达式可能生成的任何错误消息都将被忽略。因此,可以通过以下方式在函数调用file_get_contents( ) 之前简单地插入错误控制运算符(@) 来抑制上述PHP警告:

更新程序 1:

PHP


输出:

It will redirect to GeeksforGeeks Home Page

更新程序 2:

PHP


输出:

It will display the content of gfg.txt file.
For Example: A computer science portal for geeks

因此,在添加“@”符号后,我们可以看到所有这些PHP警告都被抑制了,并且只显示了如上所示的输出。
参考: https://www. PHP.net/manual/en/语言。运算符.errorcontrol。 PHP