PHP中的交互式Web应用程序安装

时间:2012-05-26 19:13:30

标签: php user-interface content-management-system web

每次请求可以多次向浏览器发送数据吗?例如我的CMS将安装一些模块,我想发送信息到浏览器(下载模块,解包模块,安装模块,...)并更新一些div或东西以获得更好的UI感觉。 也许用flash?

3 个答案:

答案 0 :(得分:3)

我在我的网络应用程序中做过类似的事情。 getstatus.php是一个返回downloading module...unpacking module...之类的文件,由运行所有这些内容的php脚本更新,run.php

我在另一个页面load.php上使用以下javascript代码(使用jQuery)来显示进度:

<script type="text/javascript">
    var flag = false;

    $(function() {
        startProcess();
        getStatus();
    });  

    function startProcess() {
        $.get('run.php', function() {
            flag = true;
            window.location = 'example.com/finish.html'; // redirect when finished
        });
    }

    function getStatus() {
        $.ajax({
            url: 'getstatus.php',
            success: function(data) {
                // do something with the output of getstatus.php here
            }
        });
        setTimeout("getStatus()",500);
    }
</script>

答案 1 :(得分:0)

如果您的操作(下载,安装等)阻止了脚本的执行,您可以简单地在每个脚本之间放置一条消息。 否则,您可以尝试使用Web套接字。

答案 2 :(得分:0)

使用Ajax CORS:

How can I communicate over TCP sockets from JavaScript?

http://remysharp.com/2011/04/21/getting-cors-working/

这是模拟实时通信的技巧。

祝你好运