我有一个允许同时上传三个文件的表单,但只需要一个。这工作正常,我唯一的问题如下:如果我上传三个文件我没有任何问题,但如果我上传一个或两个文件(留下两个或一个文件清空)我得到以下通知:
Notice: No file uploaded in Unknown on line 0
和空文件一样多。文件上传正确,没有任何其他问题,但我想删除该通知...或除非隐藏它,虽然我更喜欢删除它。我试图用
隐藏它error_reporting(0);
和
ini_set('display_errors',0);
但两人都没有工作......
这是我第一次遇到问题,如果有人能引导我,我会非常感激,因为我坚持使用它。
答案 0 :(得分:1)
错误本身是由运行PHP 7的调试版本引起的,请参阅bug report。正如HPierce所指出的那样,因为它是一个Debug构建,它会覆盖
error_reporting
的常用PHP设置。然而,由于原始问题实际上是关于如何隐藏某些[预期]错误消息(通知),我的具体回答是这个细节。
Kevin,尝试隐藏您在问题中列出的错误的方法通常适用于非调试PHP版本。但是,忽略错误是不明智的,而不是在源头解决错误。由于出现预期的错误,隐藏所有错误也是(更)不明智。
由于这只是一个通知,您可以通过设置error_reporting()
值来解决此问题:
//report all errors except notices.
error_reporting(E_ALL & ~E_NOTICE);
我建议这比完全关闭错误报告更明智, 不推荐 。如果您想要阻止输出到浏览器的错误(由Tina引用),您可以使用display_errors
。
答案 1 :(得分:1)
如果您遇到与我相同的问题,请使用phpinfo()进行检查,如果您使用的是调试版本的PHP。如果您看到Debug Build
的值为yes,那么如果安装PHP的实时版本而不是调试版本,则会解决您的问题
答案 2 :(得分:0)
也许您可能还需要设置
ini_set('error_reporting', 0);
取决于你的php ini配置?
还要确保在执行任何代码之前进行设置。