2016-10-06 36 views
0

我已經成功地設置了一個環境,其中文件被上傳到指定的PHP文件夾並且也可以被用戶刪除,所以基本的設置主要是使用provided example php server代碼有效。正確使用fine-uploader使用PHP的初始文件列表/ getInitialFiles()使用PHP

但是,getInitialFiles()方法在該示例中並未真正實現,而我正在努力使其工作。

這就是在handler.php定義:

public function getInitialFiles() { 
    $initialFiles = array(); 
    for ($i = 0; $i < 5000; $i++) { 
     array_push($initialFiles, array("name" => "name" + $i, uuid => "uuid" + $i, thumbnailUrl => "/test/dev/handlers/vendor/fineuploader/php-traditional-server/fu.png")); 
    } 
    return $initialFiles; 
} 

所以基本上這個功能只是把假文件到數組,並返回他們 - 到目前爲止,這也適用。

我很努力地顯示我定義的上傳目錄中的所有文件。由於handler.php會創建由上傳項目的UUID命名的子文件夾,因此我不能簡單地打印上傳目錄中的所有文件名,但需要訪問這些目錄然後掃描這些文件。足夠簡單,但最終我需要爲prod環境中已有的文件實現某種邏輯,因此我試圖瞭解究竟發生了什麼。困難的部分是,文件夾結構中已經存在多個文件,這些文件需要由FineUploader顯示。即使我弄到了這個文件,我也不知道如何正確訪問一個文件,而不知道它是否是UUID。此外,我不知道如何正確地向getInitialFiles端點發送參數 - 例如起始目錄或文件ID前綴。我所有試圖加強這種方法的方法都是失敗的。

因此,這裏有我的具體問題:

  1. 是它在某種程度上可以訪問現有的文件,這些都沒有通過FineUploader上傳我的服務器上?
  2. 如何正確訪問這些文件,給出我想要顯示文件夾(fe)上傳/:id /(其中包含文件1.png,2.png,calc.xls)中的所有文件的示例。其中:id是在我的.php站點上設置fineUploader實例時發送的參數?

謝謝!

回答

0

是否有可能訪問現有的文件,這些文件不是通過我的服務器上的FineUploader上傳的?

我不知道。這完全取決於你的代碼/環境。

我怎麼能正確地訪問這些文件

我不知道。這完全取決於你在哪裏/如何存儲它們。

您不應該需要「訪問」這些文件。你只需要將信息返回給Fine Uploader來描述它們。你應該有一個包含這些信息的數據庫。

正如documentation所述,您在詢問初始文件列表時返回到Fine Uploader的JSON ...

必須是一個JSON數組,其中包含要提供給上傳器的每個文件的對象。

在PHP中,你會回到這樣的事情,這僅代表了傳統的端點環境所需的屬性:

json_encode(array(array("name" => "foo", "uuid" => "abc123"), array("name" => "bar", "uuid" => "abc124"))) 

以上,即是在指示精細上傳來表示兩個特定的文件初始文件列表。

+0

感謝您的回覆Ray!關於現有文件:我沒有在任何示例或文檔中看到這種用法,我的天真方法是,我可以列出某個目錄中的所有文件,以便在我的fineUploader UI中顯示。我的問題是,這些(以前存在的)文件沒有uuid,所以我不能正確地將它們描述爲JSON對象。關於文件的訪問:如果可能,我想從fineUploader UI中打開/刪除這些文件。關於JSON響應:這一點很明顯,問題更多的是php-nature( - > next comment;)) –

+0

所以問題是如何調用文檔中描述的getUUID()方法(http:// docs .fineuploader.com/branch/master/api/methods.html#getUuid),我如何從以前存在的文件中獲取文件ID?這意味着我需要創建一個包含路徑/文件名和由fineUploader使用的自定義UUID和/或ID的數據庫表,沒有辦法「簡單地」從目錄讀取文件並將它們顯示在fineUploader中?初始文件列表中的文檔具有相當大的改進潛力,就像一個小型的工作示例,這真的有所幫助。 :) –