2009-10-03 63 views
1

這裏是我的情況:上傳文件與進步的外部網站報告

我想創建一個AJAX文件上傳腳本,將上傳到外部網站(即:不是一個腳本所在在),並同時報告上傳的進度。我會如何去做這件事?請注意,該過程必須安全。

+0

你到現在爲止做了什麼?看到你的「情況」,最好使用預先開發的控件,比如YUI或者jQuery(google他們) – aviraldg 2009-10-03 13:23:55

+0

我們現在有一種方法可以將文件上傳到外部網站,但我們不知道如何跟蹤進度。我在這裏需要知道的是整個流程的流程,而不僅僅是使用一些應用程序,因爲我們也需要了解流程。 – Nikko 2009-10-03 13:27:31

回答

0

如果您正在將文件發佈到其他服務器,則無法知道上傳的狀態,因爲上傳是在用戶瀏覽器和遠程站點之間完成的。

如果您有權訪問其他站點上處理文件上傳的腳本,則可以使用Zend_File_Transfer和Zend_ProgressBar從其他站點獲取有關uplad進度的信息並將其顯示在您的頁面上。

注意:要使用Zend_ProgressBar,您需要APC或uploadprogress擴展。

+0

我已經讀過其他地方,這可能與安裝APC。你熟悉這個嗎? – Nikko 2009-10-03 14:51:12

+0

不是在外部服務器上沒有腳本。然後,該腳本可以訪問存儲在APC中的關於上載進度的信息。 正如我寫的,您需要在_external_網站上安裝APC或uploadprogress擴展,以便Zend_File_Transfer能夠報告上傳進度。 – 2009-10-03 15:34:34

0

有兩種方法可以做到:

閃光方法的優點是,它不需要你重寫任何服務器端腳本。如果你上傳到不同於你的服務器,這是特別好的。你確實需要在該服務器上輸入cross domain xml file

ajax版本的優點是它不需要你的用戶安裝Flash。

0

使用ajax和php無法獲得確切的進度。使用php和ajax你只能知道上傳正在進行或完成。這就是爲什麼所有ajax/php應用程序都有加載但沒有進度條的原因。如果你明確想要進度條,你應該使用一個PERL CGI