关于fopen的详细错误

时间:2010-03-18 13:48:37

标签: php error-handling fopen

我正在使用fopen从文件中读取

$fh = fopen($path, 'r') or die('Could not open file');

现在我遇到错误无法打开文件。我检查了文件路径,甚至将文件的权限更改为777.有没有办法可以获得详细的错误报告,为什么文件无法打开,类似于mysql_error()?

4 个答案:

答案 0 :(得分:29)

启用错误报告,或者在生产环境中(从PHP 5.2.0开始),您还应该能够使用error_get_last()

答案 1 :(得分:14)

对于5.2之前的php版本(缺少error_get_last()),您可以使用track_errors

ini_set('track_errors', 1);
$fh = fopen('lalala', 'r');
if ( !$fh ) {
  echo 'fopen failed. reason: ', $php_errormsg;
}

另见:http://de.php.net/reserved.variables.phperrormsg

答案 2 :(得分:5)

是。
PHP为您提供了详细的错误消息 你只需要打开它。

要在屏幕上显示它,请在脚本顶部添加以下两行:

ini_set('display_errors',1);
error_reporting(E_ALL);

或者如果您想要记录它,

ini_set('log_errors',1);
ini_set('display_errors',0);
error_reporting(E_ALL);

另请注意,使用die()是非常糟糕的做法。

答案 3 :(得分:1)

$fh = fopen($path, 'r') or  die (error_get_last());