2016-10-06 1 views
0

Я успешно настроил среду, в которой файлы загружаются в указанную папку PHP, а также могут быть удалены пользователем, поэтому базовая настройка в основном используется работает код provided example php server.Правильное использование файла загрузки файлов с начальной загрузкой/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 - например, стартовый каталог или префикс идентификатора файла. Все мои попытки улучшить этот метод ужасно провалились.

Так вот мои конкретные вопросы:

  1. является как-то можно получить доступ к существующим файлам, которые не были загружены через FineUploader на моем сервере?
  2. как я могу правильно получить доступ к этим файлам, учитывая пример, что я хочу отображать все файлы в папке (fe) uploads /: id/(который содержит файлы 1.png, 2.png, calc.xls). где: id - это параметр, отправленный при настройке экземпляра fineUploader на моем .php-сайте?

Спасибо!

ответ

0

Возможно ли получить доступ к существующим файлам, которые не были загружены через FineUploader на моем сервере?

Я не знаю. Это полностью зависит от вашего кода/среды.

как я могу правильно получить доступ к этим файлам

я не знаю. Это полностью зависит от того, где/как вы их храните.

Вам не нужно «обращаться» к этим файлам. Вам просто нужно вернуть информацию в Fine Uploader, которая их описывает. У вас должна быть база данных с этой информацией.

Как указано в documentation, JSON вы возвращаетесь к Fine Uploader, когда его запрашивают исходный список файлов ...

должен быть массивом JSON, содержащим объекты для каждого файла, который будет загружаться в загрузчик.

В PHP, вы будете возвращать что-то вроде этого, который представляет собой только необходимые свойства для традиционной конечной среды:

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

Выше вы инструктируете Fine Uploader для представления двух конкретных файлов в начальный список файлов.

+0

Спасибо за ваш ответ Ray! Что касается существующих файлов: я не видел такого использования в любых примерах или документации, мой наивный подход заключался в том, что я мог бы перечислить все файлы в определенном каталоге, которые будут отображаться в моем интерфейсе fineUploader. Моя проблема в том, что эти (ранее существующие) файлы не имеют uuid, поэтому я не могу описать их как объект JSON. Что касается доступа к файлам: я хотел бы открыть/удалить эти файлы из пользовательского интерфейса fineUploader, если это возможно. Что касается ответа JSON: этот момент для меня ясен, проблемы больше связаны с php-характером (-> следующий комментарий;)) –

+0

Итак, вопрос в том, как вызвать метод getUUID(), описанный в документации (http: // docs .fineuploader.com/branch/master/api/methods.html # getUuid), как бы у меня есть идентификатор файла из ранее существующих файлов? Это означает, что мне нужно создать таблицу DB, содержащую путь/имя файла и пользовательский UUID и/или идентификатор, используемые fineUploader, нет способа «просто» чтения файлов из каталога и отображения их в fineUploader? Документация в Начальном списке файлов имеет довольно определенный потенциал для улучшения, как небольшой рабочий пример, это действительно поможет. :) –

Смежные вопросы