查看Cakephp progressbar并从控制器更新

查看Cakephp progressbar并从控制器更新,php,cakephp,model-view-controller,view,controller,Php,Cakephp,Model View Controller,View,Controller,大家好,我已经准备好了一个文件上传,我上传了一个xml文件,控制器正在将它导入数据库,并检查双值等 在我的控制器内执行此任务需要一段时间。我正在处理30Mb的文件 因此,由于需要花费一点时间,我希望用户能够从控制器的函数进度中看到progressbar 由于cakephp是mvc架构,我不确定这是否可行 我搜索了不同的页面,找到了一些ajax、jQueryPHP的东西,但我无法真正调整它,所以它可以与我的控件和视图一起工作 这是控制器: publix index() { //xm

大家好,我已经准备好了一个文件上传,我上传了一个xml文件,控制器正在将它导入数据库,并检查双值等

在我的控制器内执行此任务需要一段时间。我正在处理30Mb的文件

因此,由于需要花费一点时间,我希望用户能够从控制器的函数进度中看到progressbar

由于cakephp是mvc架构,我不确定这是否可行

我搜索了不同的页面,找到了一些ajax、jQueryPHP的东西,但我无法真正调整它,所以它可以与我的控件和视图一起工作

这是控制器:

publix index() {
        //xml import
        if ($this->request->is('post'))
        {
           //checkfilesize
           //checkformat

            if($uploadOk)
            {
               //do stuff
               if($this->Stories->createStory($data)) {
                  array_push($success_msg,'<i>'.$data['title'].'</i> has been saved.');                             
                }
                //create error
                else {
                   array_push($warning_msg ,'<i>'.$data['title'].'</i> could not been saved');
                }
            }

$this->set(compact('xml','success_msg','info_msg','warning_msg'));  
}
publix索引(){
//xml导入
如果($this->request->is('post'))
{
//检查文件大小
//支票格式
如果($uploadOk)
{
//做事
如果($this->Stories->createStory($data)){
数组推送($success\u msg,“.$data['title']”已保存。“);
}
//创建错误
否则{
数组推送($warning_msg,'.$data['title'.'无法保存');
}
}
$this->set(压缩('xml','success\u msg','info\u msg','warning\u msg');
}
您可以看到一个非常基本的索引函数

查看文件:

<div class="progress-bar" role="progressbar" aria-valuenow="70"
      aria-valuemin="0" aria-valuemax="100" style="width:70%">
        70%
</div>

70%
所以我想从控制器中更改这些值

有可能吗?有解决办法吗?我什么都没找到


感谢advanced

post to ajax,并在每次需要更新数据时刷新php缓存,+clock in js以更新ur progressbar:)或仍然向简单的进度检查器发送ajax post&then ajax请求,进度应存储在会话中,然后:p@Bob0t这是怎么可能的,将值发布到ajax中;?HTML表单应该用Jquery之类的东西来捕获,在提交时,比通常的发布更好,您可以收集表单数据并在ajax中发布(处理数据的脚本应该存储在一个文件中),同时,您打开一个加载栏对话框,并向一个页面发出一个新的ajax请求,该页面将每秒收集2次进度值。您明白这是什么意思吗?很抱歉,我没有时间给您提供完整的答案…如果我有timepost到ajax,我会这样做,并在每次需要更新数据时刷新php缓存,+在js中时钟以更新ur progressbar:)或仍然是ajax post&然后ajax请求到一个简单的进度检查器,进度应该存储在会话中,然后:p@Bob0t这是怎么可能的,将值发布到ajax中;?HTML表单应该用Jquery之类的东西来捕获,在提交时,比通常的发布更好,您可以收集表单数据并在ajax中发布(处理数据的脚本应该存储在一个文件中),同时,您打开一个加载栏对话框,并向一个页面发出一个新的ajax请求,该页面将每秒收集2次进度值。您明白这是什么意思吗?很抱歉,我没有时间给您提供完整的答案…如果我有时间,我会这样做