There are several things to look at:
- Is your deploy made by any automated tool? e.g. Capistrano? If yes, the structure should be mounted outside the folder of your application (which is usually done in the public directory). You can also point the public directory to an external folder (via a symbolic link)
- Will you write to any CDN/Cloud files? p.e. Amazon S3? In this case the structure is made by Buckets, so you will have to think a little differently.
The structure could be something like:
shared/usuarios/
shared/usuarios/places
shared/usuarios/classificados
In the case of option 1 would be folders, in option 2, Buckets.
About the uploading system is no secret, the uploading API is simple to use. I recommend saving the path of these directories in configuration files, so that it is easy for you to move in the future if you need to.
Below is the Docs link: http://laravel.com/docs/requests#files
In this case, the structure would not have to be: Shared/usuarios/usuario_id/classifieds ?
– Ricardo Costa
Yes, it can be, or else Shared/usuarios/classifieds/{usuario_id} so the user folder is more "clean". Ai is a matter of taste same
– Brayan