php文档说如果成功则返回true
,如果失败则返回false
。
rename('test/test1/','test/test2/test1/');
我如何得到真或假?如果我运行确切的函数并且它是成功的,那么文件夹会按照希望移动,并且没有输出。如果失败,则只打印出错误消息。
如何测试true
或false
是否可以判断重命名功能是否成功,而不显示错误消息?
这是正确的方法吗?
error_reporting(0);
if(rename('test/test1/','test/test1/test2/test1/')===true){
print 'true';
} else{
print 'false';
}
答案 0 :(得分:6)
您只需执行此操作即可获得返回值:
$success = rename($oldValue, $newValue);
然后,您可以使用$success
的值执行任何操作。
答案 1 :(得分:5)
检查返回值是一个简单的问题,就像你建议的那样完成(或者如果方便的话你可以将返回值保存到变量中)。
但是,最好不要更改全局错误级别,而是使用error control operator @
代替:
if(@rename('test/test1/','test/test1/test2/test1/')===true) {
// successfuly rename
}
else {
// failed
}
在高级方案中,如果有可能采取措施纠正错误,您可能还想了解错误情况。为此,您需要rename
将产生的警告中的错误消息。您可以使用与我所描述的here类似的技术来实现这一目标。