我不知道如何去做这件事。CakePHP,AJAX - 显示在后台运行的方法的进度
我有一个小型图库脚本的管理面板。您创建图库,然后通过FTP上传图像(到指定的文件夹,每个图库有100张图像,使用FTP更容易)。
在画廊列表中,每个画廊旁边都有一个“创建拇指”链接,该链接转到/admin/images/thumbnails/gallery_id
。一切正常,缩略图正在创建,方法重定向到与setFlash
信息的列表页面,他们被创建。
但事情是,创建这些小图像需要时间,并且如果它超过10张图片 - 可能会令人讨厌等待浏览器重新加载。
我想添加某种进度条。或者可能只是已经处理的图像数量。
的方法基本上是这样的(还有更多,但不相关):
function admin_thumbnails($gallery_id)
{
$files = $this->File->listDir('/example/www/directory');
foreach ($files AS $file)
{
$this->Attachment->thumbnail('/example/www/directory/'.$file, '/thumbs/', '150', '100', 'resizeCropTop');
}
$this->redirect(array('controller' => 'galleries', 'action' => 'index'));
}
我可以在foreach循环运行的东西,但什么?以及如何将其展示给用户?
任何指针都会很棒。
问候, 保罗
我实际上开始研究它,在这一点上,我通过Ajax在后台执行此操作,并向用户显示和ajax-loader.gif。想不到如何实现实际进度指标。 好处是,我将每个图像(在缩略图方法中)保存到数据库。因此,我可以用另一种方法“轮询”我的服务器,这种方法可以为我指定与该指定库相关的图像计数。谢谢 ! – PawelMysior 2011-05-21 09:12:13