【问题标题】:PHP die() vs. echoPHP die() 与 echo
【发布时间】:2011-08-15 03:59:27
【问题描述】:

谁能告诉我为什么第 1 行有效(返回 35434),但第 2 行无效(返回空白)?

  1. echo $_FILES['userfile']['size'];
  2. die ($_FILES['userfile']['size']);

谢谢!

【问题讨论】:

  • 这两个是在完全相同的位置还是在两个不同的页面上? (是的,这是一个愚蠢的问题,但这只是为了确定。)

标签: php


【解决方案1】:

die 等价于exit,您会注意到exit 将整数或字符串作为参数。如果您传递一个整数,则程序退出并返回该整数作为其退出代码。

$_FILES['userfile']['size']是一个整数,不是字符串,所以它不是将消息输出到屏幕上,而是返回大小作为程序的返回码。

一个简单的解决方案是连接一个空字符串,让 PHP 编译器想要一个字符串而不是整数:

die('' . $_FILES['userfile']['size']);

【讨论】:

  • 还要注意die()/exit()的整数参数不能大于254。
【解决方案2】:

几个小时前我answered this,反正其他答案都是对的。

作为一种解决方法(如果您需要这样做),将整数转换为字符串即可:

die(strval($_FILES['userfile']['size'])); // or
die((string) $_FILES['userfile']['size']);

【讨论】:

    【解决方案3】:

    die() 只打印字符串。 (See manual) 如果你在其中添加一些文本,它会起作用,出于某种原因。 ;)

    【讨论】:

      猜你喜欢
      • 2018-08-17
      • 2014-01-11
      • 2011-02-22
      • 2010-10-27
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多