【问题标题】:Why file upload error codes in php miss number '5'?为什么 php 中的文件上传错误代码未命中编号“5”?
【发布时间】:2011-02-09 08:59:19
【问题描述】:

我正在为 PHP 文件上传编写一个自定义错误处理/报告函数,我注意到返回的错误代码编号为 0 到 8,除了 5。

这是我使用的源代码中的错字还是真的是这样?如果是这样,我很好奇他们为什么跳过了“5”号。

谢谢。

编辑 回复Pekka,这里是PHP手册中的错误代码。

0 | UPLOAD_ERR_OK |没有错误,文件上传成功。 1 | UPLOAD_ERR_INI_SIZE |大小超过 php.ini 中的 upload_max_filesize。 2 | UPLOAD_ERR_FORM_SIZE |大小超过了 HTML 表单中指定的 MAX_FILE_SIZE。 3 | UPLOAD_ERR_PARTIAL |上传的文件只是部分上传。 4 | UPLOAD_ERR_NO_FILE |没有上传文件。 5 | UPLOAD_ERROR_E |正如@Progman 所解释的,在rev 中删除。 81792 6 | UPLOAD_ERR_NO_TMP_DIR |缺少一个临时文件夹。 7 | UPLOAD_ERR_CANT_WRITE |无法将文件写入磁盘。 8 | UPLOAD_ERR_EXTENSION |文件上传被扩展名停止。

【问题讨论】:

  • and I noticed that the error codes returned is one of numbers 0 to 8 except 5. 你从哪里得到这个?我只知道 4 个错误代码。

标签: file-upload php


【解决方案1】:

无论如何使用UPLOAD_ERR_* 常量都没关系。但我猜字段 5 是一个错误,现在由不同的错误案例处理。

编辑

案例“5”是空上传文件的错误。但是,这不是错误,因此该字段/常量已被删除。见changeset 81792 on main/rfc1867.cchangeset 88408 on main/rfc1867.c

【讨论】:

  • 是的,使用常量是可行的方法,因为值可能会在某一天发生变化。但是,我的问题是am I missing a case which may return error code 5?
  • @Majid:不,它没有定义(不再),它可能在早期版本中定义,但现在该字段不再使用并且不再重复使用,以防止混淆两种情况获得相同的索引(而且这种方式无法区分)
猜你喜欢
  • 2014-03-09
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 1970-01-01
  • 2016-02-24
  • 2013-07-24
  • 1970-01-01
  • 2014-05-06
相关资源
最近更新 更多