将PHP警告转换为用户定义的异常
使用的语言:PHP将PHP警告转换为用户定义的异常,php,file-upload,php-5.6,Php,File Upload,Php 5.6,使用的语言:PHP 版本:5.6 我正在尝试使用以下功能将文件上载到服务器: move_uploaded_file($source,$destination); 无论何时由于以下原因导致文件无法上载: 拒绝许可, 找不到目标文件夹, 等 它只会引发一个警告,并继续处理代码的其他部分。 但是我想捕捉那个警告,如果有任何警告是以它们的名字出现的,我想改变程序的流程,这样我就可以抛出适当的异常 我当前正在使用try{}catch(){}块上载文件,但没有针对警告引发异常 已编辑 找到这个 move_
版本:5.6 我正在尝试使用以下功能将文件上载到服务器:
move_uploaded_file($source,$destination);
无论何时由于以下原因导致文件无法上载:
try{}catch(){}
块上载文件,但没有针对警告引发异常
已编辑
找到这个
move_uploaded_file($source,$destination);
根据文件上载的状态返回true或false。但它没有具体说明原因。怎么知道呢?我想
设置错误处理程序()
将是正确的选择。确保您仔细阅读了文档
首先,您需要一个函数(或公共类方法)来处理错误。
例如:
其次,调用init/bootstrap代码中的某个地方的set\u error\u handler
。指定错误处理程序方法,并设置要通知的情况的适当标志
$flags = E_ALL & ~(E_STRICT | E_NOTICE);
set_error_handler('error_handler', $flags);
error_reporting($flags);
警告一句:如果您打算捕获内存不足之类的错误,那么您的代码应该准备使用尽可能少的内存。此外,资源可能不再可用(如数据库连接或文件句柄) 我想
设置错误处理程序()
将是正确的选择。确保您仔细阅读了文档
首先,您需要一个函数(或公共类方法)来处理错误。
例如:
其次,调用init/bootstrap代码中的某个地方的set\u error\u handler
。指定错误处理程序方法,并设置要通知的情况的适当标志
$flags = E_ALL & ~(E_STRICT | E_NOTICE);
set_error_handler('error_handler', $flags);
error_reporting($flags);
警告一句:如果您打算捕获内存不足之类的错误,那么您的代码应该准备使用尽可能少的内存。此外,资源可能不再可用(如数据库连接或文件句柄) 这是一个警告,所以它不会抛出自己的异常。如果失败,则返回false,因此您可以始终在那里抛出自己的异常。@aynber感谢您的输入。但是,如果你想知道文件上传失败的原因,你可能想看看这里()。使用错误处理程序可以获得更多信息。在错误处理程序中,您可以查找
权限被拒绝
等。如果您仍在使用PHP5,我强烈建议尽快升级。不再支持此版本。这是一个警告,所以它不会抛出自己的异常。如果失败,则返回false,因此您可以始终在那里抛出自己的异常。@aynber感谢您的输入。但是,如果你想知道文件上传失败的原因,你可能想看看这里()。使用错误处理程序可以获得更多信息。在错误处理程序中,您可以查找权限被拒绝
等。如果您仍在使用PHP5,我强烈建议尽快升级。不再支持此版本。