Detailed error on fopen

血红的双手。 提交于 2019-12-30 05:37:05

问题


I'm using fopen to read from a file

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

Now I contantly get error Could not open file. I checked the file path and even changed the permissions of the file to 777. Is there a way I can get a detailed error report as why the file can't be opened similar to mysql_error()?


回答1:


Turn on error reporting, or, in a production environment (from PHP 5.2.0 onwards) you should also be able to use error_get_last().




回答2:


For php versions prior to 5.2 (lacking error_get_last()) you can use track_errors.

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

see also: http://de.php.net/reserved.variables.phperrormsg




回答3:


Yes.
PHP has detailed error message for you.
You just have to turn it on.

To dislay it on the screen add these 2 lines at the top of the script:

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

Or if you want it to be logged instead,

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

Also note that using die() is very bad practice.




回答4:


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


来源:https://stackoverflow.com/questions/2470217/detailed-error-on-fopen

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!