如何让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;
}
}
}
}
答案 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的教程!