PHP怎么隐藏文件真实路径,并可以显示或下载文件?

w-w-w.mycms.com/file.php?fileId=123  (w-w-w 是 www)
w-w-w.mycms.com/upfile/abc.jpg
怎么实现下面几个功能
1,浏览器里输入w-w-w.mycms.com/file.php?fileId=123 就可以显示 w-w-w.mycms.com/upfile/abc.jpg这张图片?
并且不暴露abc.jpg 这张图片的文件名
2,如果在html中写出 <img src="www.mycms.com/file.php?fileId=123"> 也可以显示abc.jpg;
3,如果file.php?fileId=123  对应的是一个rar文件 "abc.rar",就直接下载这个文件

$src="/upfile/abc.jpg"
我用 header("Location: $src");这个函数;在浏览输入 w-w-w.mycms.com/file.php?fileId=123
当图片显示的时候,浏览器的地址就变成 w-w-w.mycms.com/upfile/abc.jpg
我希望 图片显示的时候,浏览器的地址依然是 w-w-w.mycms.com/file.php?fileId=123,怎么写?

[ 此帖被草刺野猪在2011-07-03 17:32重新编辑 ]

作者: 草刺野猪   发布时间: 2011-07-03

没人回答我啊,不过我已经解决这个问题了,下面是代码

$fileres = file_get_contents("http://www.mycms.com/upfile/abc.jpg“);
header('Content-type: image/jpeg');
echo $fileres;

作者: 草刺野猪   发布时间: 2011-07-03