2013-10-18 16 views
5

Sono nuovo con Symfony e metto le immagini in uplodato dagli utenti nella directory /web/bundles/mybundle/images/. Ma sento che non è una buona pratica. Perché quando eseguo il comando di seguito per creare collegamenti simbolici ad altri file nella directory src. Tutte le immagini caricate dagli utenti sono state rimosse.Symfony2 - Dove posso caricare i file caricati dagli utenti?

php app/console assets:install ./web --symlink 

Dove devo mettere le immagini caricate dagli utenti?

+0

Personalmente li ho inseriti in/web/uploads/bundle/controller/action – Chausser

+0

Hai seguito il [ricettario Symfony2] (http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html) in ordine gestire il caricamento del file? Dovrebbe aggiungere il file caricato nel posto migliore. –

risposta

9

La mia soluzione personale è quello di metterli nella directory /app/data/uploads, e poi o:

  1. Creare collegamenti simbolici alla directory di upload, o
  2. Servire gli upload tramite un controller

Opzione 1 è probabilmente la scelta migliore per immagini e risorse, come vuoi che vengano servite il più rapidamente possibile. Tuttavia, per altri contenuti (PDF, Documenti, ecc.), L'opzione 2 potrebbe essere la soluzione migliore, dato che hai più controllo su come vuoi che i contenuti vengano pubblicati.

Preferisco mantenere la mia directory /web il più pulita possibile e mantenere i file caricati al di fuori dell'ambito pubblico (consentendomi di cambiare il mio metodo di pubblicazione dei file senza doverli spostare - IE Passare dall'opzione 1 di cui sopra a Opzione 2), ma se vuoi memorizzarli nella cartella web, puoi seguire lo Symfony Cookbook e memorizzarli in qualcosa come /web/uploads.

+0

Grazie, proverò prima opzione –

Problemi correlati