1

简短版:
我怎样才能重新定位到C:\Abyss Web Server\htdocs\database\pfs\max\files\public\sdf.png使用header()

完整版本:
目前我坚持使用这段代码:

header("Location: ".ROOT_URL."\database\pfs\\".$_GET["u"]."\\files\public\\".$c);

(不完全在上下文中,但在这种情况下不需要它,因为我已经设法自己追踪原因)。
$c是文件名,在上下文中声明,并且$_GET["u"]是“所有者”的名称。ROOT_URL 定义为: define("ROOT_URL", "file://\Abyss%20Web%20Server\htdocs");,它只是服务器目录的路径(我也尝试过define("ROOT_URL", "C:/\Abyss%20Web%20Server\htdocs");,但那里也没有运气)。无论如何,有了这个,我希望用户能够下载上传的文件$_GET["u"]。但问题是,我每次都会遇到 404 错误......而且,通过一些实验,我得出的结论是 header() 函数不能很好地处理重定向。

不知道为什么会发生这种情况,但我认为它与file://or有关c:/。我的服务器当前托管在本地,因此我需要使用这些方法(很长时间)。答案将不胜感激,因为我已经坚持了一段时间了......

4

1 回答 1

3

如果是本地文件系统链接,则需要添加file://协议前缀:

header('Location: file://C:\\path\\to\\file');

如果您忽略它,客户端(浏览器)会将其解释为http://C:\\path\\to\\file

于 2013-10-24T21:35:19.137 回答