Fix Timthumb Script When Using a URL That Contains Tildes (~)


/ Published in: PHP
Save to your folder(s)

If you are using the [TimThumb](http://code.google.com/p/timthumb/ "TimThumb on Google Code") script with a URL the contains tildes (~) and images are breaking, here is the fix...

I did not create this snippet but found it extremely useful so I thought I'd make it available here. The URL listed is not mine but where I found it. Enjoy :-)

At line 209 (as of 01-29-13) in the script you will find the following line of code:

`$this->src = $this->param('src');`

Replace that line with the following snippet:


Copy this code and paste it in your HTML
  1. //check if tilde is found in src
  2. if(strstr($this->param('src'),'~'))
  3. {
  4. $url_parts = explode('/',$this->param('src'));
  5.  
  6. foreach($url_parts as $url_part)
  7. {
  8. //do not include any part with a ~ when building new url
  9. if(!strstr($url_part,'~'))
  10. {
  11. $new_dev_url .= $url_part.'/';
  12. }
  13. }
  14.  
  15. //remove trailing slash
  16. $new_dev_url = substr($new_dev_url,0,-1);
  17.  
  18. $this->src = $new_dev_url;
  19. }
  20. else
  21. {
  22. $this->src = $this->param('src');
  23. }

URL: http://elementdesignllc.com/2012/01/how-to-fix-timthumb-using-a-virtual-directory-url-contains-tildes/

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.