views:

36

answers:

3

I have a blog background website. We provide some HTML code that the user can insert into his page, and it has something like this:

<img src="http://site.com/img.jpg" />

Unfortunately, I have had to relocate the images from time to time. Each time I have to relocate the image, the image no longer works for the people who have put the code into their site.

I am wondering if there is a way in PHP so that I can do something like this:

<img src="http://mysite.com/getImage.php?id=523" />

And have the getImage.php actually redirect to the actual image URL (looked up from my database with the given ID). In this way, I can have one URL to give to the user, and if I ever need to relocate the image, I just do it in my database, and the user's background still works.

Any suggestions?

+2  A: 
header("Location: $url");
Mewp
Oh wow, I thought I had tried that, but it turns out I had errors in my HTML. Thanks!
Lukas
+3  A: 

Yes. You can use the following to transparently serve a JPEG from php:

header('Content-type: image/jpeg');
readfile('/path/to/file.jpg');
exit;

Alternatively, you can just redirect to the image URL:

header('Location: /web/path/to/file.jpg');
exit;
Amber
A: 

@Amber Not my thread, but I'm interested - what are the relative advantages and disadvantages of those two approaches?

Tim Rogers
Start your own question ...
HoLyVieR