style die()错误消息

时间:2013-04-11 19:17:38

标签: php error-handling die

如何让die()消息在同一页面的HTML部分的某个位置回显?

$files = array();
  $upload = $_FILES['upload']['tmp_name'];
    foreach($upload as $uploaded){
if(!empty($uploaded)) {
if(isset($uploaded)){
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime= finfo_file($finfo, $uploaded);
  switch($mime) {
  case 'application/pdf':
  break;
  default:
die('pdf file only.');     
break;
      }
    }
  }
}

4 个答案:

答案 0 :(得分:2)

die将立即停止执行并将任何缓冲区中的内容发送到浏览器。

就个人而言,我喜欢这样做:

function halt($str="") {
    if( $str) echo "<div class=\"server_notice\">".$str."</div>";
    require("template/foot.php");
    exit;
}

答案 1 :(得分:1)

如果不使用die,做些什么来插入html然后死掉。

或者,您有register_shutdown_function(文档:http://php.net/manual/es/function.register-shutdown-function.php),这样您就可以在脚本以die;结束后立即执行操作

答案 2 :(得分:1)

没有办法做到这一点。 <{1}}或die()将停止执行您的脚本。

您可以制作一些错误报告系统。 exit()

然后执行您想要的操作并设置此错误。

然后你可以在某个地方检查它:

$lastError = null

你也可以创建一些常量,如:

if ($lastError == 2){
  echo "The file is no in PDF format" ;
} //and so on.

答案 3 :(得分:1)

您需要回显div标签,然后使用CSS定位它们。

die('<div id="error">pdf file only.</div>'); 

然后将以下文本添加到CSS中:

#error{position:absolute;top:10;left:10;}

您需要根据您的位置更改顶部和左侧值。

如果您不知道CSS是什么,我建议您在YouTube上观看TheNewBoston的教程!