Plupload: как получить имя файла из сценария обработки PHP - PullRequest
3 голосов
/ 02 февраля 2012

Я только начал использовать Plupload, который великолепен и действительно полезен, однако я немного теряю настройки, чтобы настроить его под свои нужды, потому что это слишком далеко от моей глубины.

В основномЯ использую его только для загрузки одного файла, поэтому мой код основан на втором из двух основных руководств, представленных на форуме Plupload.Я использую пример PHP-скрипта upload.php для обработки.

Все работает отлично, за исключением того, что я получаю оригинальное имя файла, которое загружает upload.php.Так, если, например, в имени файла есть пробел, мой скрипт отправки формы не работает, потому что вместо этого ищет файл с оригинальным именем.

Я, очевидно, мог бы заставить это работать, удалив илиизменить регулярное выражение, но я не очень хочу.Я бы предпочел вернуть продезинфицированное имя файла из upload.php, но я просто не уверен, как это сделать.

Я искал по этой теме в связи с Plupload, и не могу найти ответ, и я не могу искать более общий принцип smae, который я мог бы применить, потому что я даже незнаю, что я ищуКто-нибудь может пролить свет на это?

1 Ответ

7 голосов
/ 03 февраля 2012

В строке 53 из upload.php обработка имени и пути завершена:

$filePath = $targetDir . DIRECTORY_SEPARATOR . $fileName;

Если вы хотите использовать имя в PHP, вызовите функцию прямо перед тем, как она вернет статус успеха (около строки 130);

Если вы хотите использовать имя файла в javascript, измените ответ JSON в строке 130 на

die('{"jsonrpc" : "2.0", "result" : null, "id" : "id", "cleanFileName" : "'.$fileName.'"}');

поэтому имя файла включено. В Javascript вы добавляете обратный вызов:

uploader.bind('FileUploaded', function(up, file, info) {
    console.log(info.response);
});

info.response - возвращаемая строка JSON, которая будет содержать имя файла после переименования на сервере.

...