我正在使用 php 来管理一堆硬盘。由于我使用的框架仅适用于 php,因此我有点卡在这种语言上。所以我的问题是:给定一个开放式的:
$fp = fopen(somefile,somemode);
如果写入失败,我如何捕获 ENOSPC 错误?
我能想到的一个选择是这样的:
$oldlvl = error_reporting(0);
if(fwrite($fp, $somedata)<=0){
$error = error_get_last();
if(strpos(strtolower($error['message']),"no space left on device")!==false){
// handle no space error!!!!!
}
}
error_reporting($oldlvl);
通过不解析错误消息本身,有人有更好的方法吗?