2013-10-18 3 views
5

Ich bin neu mit Symfony und ich habe Bilder hochgeladen von Benutzern unter /web/bundles/mybundle/images/ Verzeichnis. Aber ich denke, das ist keine gute Übung. Denn wenn ich den Befehl unten ausführe, um Symlinks zu anderen Dateien unter src Verzeichnis zu erstellen. Alle Bilder, die von Benutzern hochgeladen wurden, wurden entfernt.Symfony2 - Wo soll ich Dateien hochladen, die von Benutzern hochgeladen wurden?

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

Wo sollte ich Bilder hochladen, die von Benutzern hochgeladen wurden?

+0

Persönlich habe ich sie in/web/uploads/bundle/controller/action – Chausser

+0

Haben Sie das [Symfony2 Kochbuch] (http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html) in der Reihenfolge um den Datei-Upload zu verwalten? Es sollte die hochgeladene Datei an der besten Stelle hinzufügen. –

Antwort

9

Meine persönliche Lösung ist, sie im /app/data/uploads Verzeichnis zu setzen, und dann entweder:

  1. Symlinks auf dem Upload-Verzeichnis erstellen, oder
  2. dienen die Uploads über einen Controller

Option 1 ist wahrscheinlich die beste Wahl für Bilder und Assets, da sie so schnell wie möglich geschaltet werden sollen. Für andere Inhalte (PDFs, Docs usw.) ist Option 2 jedoch möglicherweise die bessere Wahl, da Sie mehr Kontrolle darüber haben, wie der Content geschaltet werden soll.

Ich bevorzuge es, mein Verzeichnis /web so sauber wie möglich zu halten, und Dateiuploads außerhalb des öffentlichen Bereichs zu halten (erlaubt mir, meine Methode der Bereitstellung der Dateien zu ändern, ohne sie zu verschieben - IE Moving von Option 1 oben zu Option 2), aber wenn Sie sie im Web-Ordner speichern möchten, können Sie die Symfony Cookbook folgen und sie in etwas wie /web/uploads speichern.

+0

Vielen Dank Ich werde die erste Option versuchen –