Image upload path not stored in db...
I am uploading an image as part of a module I am working on and have -
$upload_path = assets_server_path('something/','images');
$fields['something_icon_upload'] = array('type' => 'file', 'upload_path' => $upload_path, 'overwrite' => TRUE);
The file is being uploaded fine, however, when I am trying to return/render the image I am not sure of the best way to get the correct path returned. Ideally I suppose the path should be stored with the filename on db write?
Using img_path works, but I need to include the directory it was saved to again. Is this right?
Eg. in the something module...
public function show_something_icon() {
if ($this->something_icon) return '
something_icon).'" />';
}
Is there a better way for me to do this?
Comments
With regards to your question, there are a couple ways to do it.
1. You could use a model hook to append it to the path (e.g. on_before_save()). Then in your record specific model (the model used for each record NOT the table model), you could add a method like:
public function get_icon_path() { if ($this->icon) return img_path($this->icon); }
2. Or you could simply just append it in your record model like so:
public function get_icon_path() { if ($this->icon) return img_path('subfolder'.$this->icon); }
Then you can call it in your code like so:
<img src="<?=$my_record->icon_path?>" alt="" />