in reply to Where to store images?

For instance each user will have his own directory , so how I give him a privacy that only he would have a permission to view files in that directory (of course after that he is registered user)?
By not giving him direct access to the files. Use URLs like:
http://www.example.com/image/12345
and map the 12345 to a specific image for the user. Apache can do URL rewriting, and so can many frame works. Just don't turn them into redirects. You'd use a database to map the tuple (user, number) to a file path.