/ / Symfony2 a Blueimp jQuery-File-Upload: kam nastaviť adresár „server / php“ - php, jquery, upload súborov, symfony, blueimp

Symfony2 a Blueimp jQuery-File-Upload: kde nastaviť adresár "server / php" - php, jquery, file-upload, symfony, blueimp

Budem používať základnú verziu Blueimp jQuery-File-Upload knižnica na nahrávanie súborov. V rámci PHP sa táto knižnica Javascript spolieha na vykonanie triedy PHP index.php, ktorá je umiestnená v adresári „server / php“. Ako je uvedené v stránka tutoriálu, „akcia“ musí odkazovať na tento adresár.

Ak používate túto knižnicu v a Symfony2 aplikácie, kam by mal byť umiestnený adresár „server / php“? Ktorú cestu by som mal použiť? Ako to v praxi nechať fungovať?

PS: Viem, že existuje nejaký balík Symfony2 Punkave "s „symfony2-file-uploader-bundle“, ale v návode je niečo, čo chcem, a nechcem sa opakovane vracať do formulárov Symfony2-

odpovede:

6 pre odpoveď č. 1

Do umiestnenia by som vložil obsah doplnku jQuery web/bundles/<your bundle name>/js/jquery-file-upload, A potom by som nakonfigurovať skript (skontrolovať možnosti config) vyhľadajte súbor index.php na: /bundles/<your bundle name>/js/jquery-file-upload/server/php/index.php.

Samozrejme musíte tento súbor index.php zmeniť, aby ste skontrolovali, či je používateľ prihlásený a či má správne povolenia.

Napríklad som to urobil v testovacom prostredí:

Túto akciu som pridal do ovládača:

/**
* @Route("/test/jquery-file-upload")
* @Template("<your bundle name>:Default:test-jquery-file-upload.html.twig")
*/
public function testJqueryFileUploadAction()
{
return array();
}

A vytvoril som túto šablónu:

<input id="fileupload" type="file" name="files[]" data-url="{{ asset("bundles/<your bundle name>/jquery-file-upload/server/php/index.php") }}" multiple>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="{{ asset("bundles/<your bundle name>/jquery-file-upload/js/vendor/jquery.ui.widget.js") }}"></script>
<script src="{{ asset("bundles/<your bundle name>/jquery-file-upload/js/jquery.iframe-transport.js") }}"></script>
<script src="{{ asset("bundles/<your bundle name>/jquery-file-upload/js/jquery.fileupload.js") }}"></script>
<script>
$(function () {
$("#fileupload").fileupload({
dataType: "json",
done: function (e, data) {
$.each(data.result, function (index, file) {
$("<p/>").text(file.name).appendTo(document.body);
});
}
});
});
</script>