How to access images under writable folder |
I like the random hash idea, seems easier to maintain.
Practical guide to IgnitedCMS - Book coming soon, www.ignitedcms.com
rather than one folder with gazillions of images (you'll always have way more than you expect) i have an images folder with 20 subfolders into which the images are allocated to maintain an approx even distribution
Quote:@MGatner: I’m using a Linux server, not familiar with using symlinks and would be grateful for a detailed example: Code: echo ‘<img src=‘“ .WRITABLE .’/folder/img.jpg” .’” alt=“#”>’;
(03-30-2022, 02:07 PM)badger Wrote: rather than one folder with gazillions of images (you'll always have way more than you expect) i have an images folder with 20 subfolders into which the images are allocated to maintain an approx even distribution Yes I agree it is a good idea to have a two step access or more, such as folder (maybe user's id / timestamp) + random file name. I think you have to be careful with just relying on random string names because of the 'Birthday Paradox' and chances of collision. This is also why GUID's are probably the preferred method with maybe even appending or pre-appending a timestamp
Practical guide to IgnitedCMS - Book coming soon, www.ignitedcms.com
This might be useful to some, so here is how to properly keep image files (or other files) not in public dir but in writable dir, still loadable in html (but also, if needed, restricting public access to them):
1. Place image files in writable/uploads/img (e.g., I have there an image named profile-9.jpg and another image placeholder.jpg ) 2. Make a special controller method to access those files. Here is mine (controller class name, lets say, is Files): PHP Code: public function profile(int $id) { (more on the usage of the response::download method - here in the docs) 3. Use the route /files/profile/9 to access the image in the html src property, for example like this: Code: <img src="<?=base_url('files/profile/' . $id) ?>" />
==
Donatas G. |
Welcome Guest, Not a member yet? Register Sign In |