【发布时间】:2019-11-13 18:35:03
【问题描述】:
使用语言:PHP
版本:5.6
我正在尝试使用以下功能将文件上传到服务器:
move_uploaded_file($source,$destination);
每当文件由于任何原因而无法上传时,例如
它只是发出警告并继续代码的其他部分。 但是我想捕捉那个警告并改变程序的流程,如果任何警告是用他们的名字引发的,这样我就可以抛出适当的异常。
我目前正在使用try{}catch(){} 块上传文件,但警告没有引发异常。
已编辑 找到这个...
move_uploaded_file($source,$destination);
根据文件上传的状态返回真或假。但它没有说明原因。怎么知道?
【问题讨论】:
-
这是一个警告,所以它不会抛出它自己的异常。 move_uploaded_file 如果失败则返回 false,因此您可以随时在那里抛出自己的异常。
-
@aynber 感谢您的意见。但是,如果想知道文件上传失败的原因呢?
-
您可能想看这里 (stackoverflow.com/questions/1241728/can-i-try-catch-a-warning)。使用错误处理程序应该可以让您获得更多信息。
-
在错误处理程序中,您可以查找
Permission denied等... -
如果您仍在使用 PHP 5,我强烈建议您尽快升级。不再支持此版本。 Let Rasmus Lerdorf explain it to you
标签: php file-upload php-5.6