Я искал в сети ответ, но не смог найти.
Как я могу показать некоторые загрузочные messsage или gif, пока работает длительный исполняемый скрипт. Я протестировал несколько разных способов, как javascript, потому что мой скрипт пытается использовать PLINK.exe для того, чтобы зачерпнуть файл, для которого требуется около 30 секунд. потому что это один код строки, я не могу использовать flush (), есть ли другой способ, которым я делаю это?
<?php $runCommand = "C:\wamp\www\TS\batch\plink.exe Sever -l User \"ssh User@Server 'tail -600 /serverlog/test.log'\" "; $results=system($runCommand); //exec($runCommand, $results); echo $results; ?>
Я пробовал следующий код, который дал мне именно то, что я хочу. на странице отображается «loading.gif» при загрузке скрипта php и скрыть его, когда скрипт закончен. Это использование JQuery.
//$tr_arname=$_REQUEST['arname'] -> is the variable i've got from previous PHP page. <body onload="loadingAjax('myDiv');"> <script> var arname="<?php $tr_arname=$_REQUEST['arname']; echo "$tr_arname"; ?>"; function loadingAjax(div_id) { $("#"+div_id).html('<center><img src="images/loading.gif"><br><br><font color="#006699" face="arial" size="4"><b>Loading arerror.log <br><?php echo "$tr_arname"; ?> <br>Please Wait ...</b></font></center>'); $.ajax({ type: "POST", url: "ThePHPScriptPage.php", data: "arname=" + arname, success: function(msg){ $("#"+div_id).html(msg); } }); } </script> <div id="myDiv"></div> </body>
Вы можете запросить ваш php-файл с другой веб-страницы с помощью AJAX. Затем у вас отображается javascript load.gif, пока сервер не ответит на запрос.
Вы можете использовать jQuery для этого: http://api.jquery.com/load/
Вы не можете сделать это с помощью PHP только после выполнения на стороне сервера (страница / сценарии отображаются на сервере, прежде чем пользователь сможет увидеть что-либо в своем браузере)
Вы должны поместить свой скрипт в отдельный файл, а затем выполнить вызов AJAX.
Чтобы отобразить загрузочное изображение, следуйте этому (необходима фреймворк jQuery)
http://jquery-howto.blogspot.com/2009/04/display-loading-gif-image-while-loading.html
// SHOW YOUR LOADING GIF HERE $('#result').load('yourscript.php', function() { //HIDE YOUR LODAING GIF HERE });