2013-04-11 1 views
0

Как сделать сообщение die() эхом в определенном месте в HTML-разделе этой же страницы?style die() error

$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; 
     } 
    } 
    } 
} 
+1

Переключатель с одним корпусом немного глупый. – JJJ

+0

В этом случае вы не должны использовать 'die()', напишите правильную обработку ошибок, если вы хотите, чтобы какая-то часть выполнения возникла после ошибки. 'die()' следует использовать только [в производстве] в случае катастрофической ошибки, когда выполнение * не может * и * не должно * продолжаться. – Sammitch

+1

@ Juhana, но это хороший момент, когда вы начинаете расширять приложение – Voitcus

ответ

1

Как насчет того, чтобы не использовать die, сделать что-то, чтобы вставить html, а затем умереть.

Кроме того, у вас есть register_shutdown_function (Документация: http://php.net/manual/es/function.register-shutdown-function.php), который позволит вам сделать все правильно после того, как сценарий завершается die;

1

die немедленно прекратить выполнение и отправить что-нибудь в буферах в браузере.

Лично я хотел бы сделать что-то вроде этого:

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

Там нет никакого способа сделать это. die() или exit() прекратит выполнение вашего скрипта.

Thouh, вы можете создать систему отчетности об ошибках. $lastError = null

Затем сделайте то, что вы хотите, и установите эту ошибку.

Затем вы можете проверить его в каком-то месте:

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

Также вы можете создать некоторые константы, такие как:

define("ERROR_WRONG_FORMAT", 2); //Make the error clear. 
1

Вам нужно повторить из Div теги, а затем установить их с помощью CSS ,

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

Затем добавьте следующий текст в CSS:

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

Вам нужно изменить верхнее и левое значение в зависимости от того, где вы wnat их быть.

Если вы не знаете, что такое CSS, я предлагаю вам посмотреть учебники TheNewBoston на YouTube!