我不知道如何去做這件事。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