使用符号链接下载PHP文件

使用符号链接下载PHP文件,php,download,symlink,Php,Download,Symlink,我有一堆.tgz文件,可以通过访问。符号链接。当我点击页面上指向符号链接的href时,它会下载一个相当奇怪的文件。下载的文件具有符号链接的名称,打开归档文件后,我得到(据我所知)一个二进制文件,它可能与静态文件的内容有关,也可能与静态文件的内容无关 我想做的是让PHP显示一个文件下载对话框,该对话框给出了由符号链接链接的文件,而不是实际的符号链接。这是可能的吗?PHP提供了一个可用于获取其目标/链接路径的工具。 但是,请认为您的问题与apache重写或绝对路径(再次)有关 PS:您的apache

我有一堆.tgz文件,可以通过访问。符号链接。当我点击页面上指向符号链接的
href
时,它会下载一个相当奇怪的文件。下载的文件具有符号链接的名称,打开归档文件后,我得到(据我所知)一个二进制文件,它可能与静态文件的内容有关,也可能与静态文件的内容无关

我想做的是让PHP显示一个文件下载对话框,该对话框给出了由符号链接链接的文件,而不是实际的符号链接。这是可能的吗?

PHP提供了一个可用于获取其目标/链接路径的工具。
但是,请认为您的问题与apache重写或绝对路径(再次)有关

PS:您的apache mime是否支持tgz扩展

请参阅:

PHP提供了允许您获取其目标/链接路径的工具。
但是,请认为您的问题与apache重写或绝对路径(再次)有关

PS:您的apache mime是否支持tgz扩展


参考:

为了给你一个确切的答案,我需要了解更多关于你如何提供文件的信息。 为什么会涉及php?文件不是由Web服务器提供的吗?您是重定向到它,还是从打印位置将它读入php脚本中的内存

但我可以告诉你

在大多数情况下,PHP会将符号链接作为文件处理,并且不会为链接后面的文件提供相同的服务

php函数is_link()用于检查资源指针是否为链接, 函数readlink()为链接后面的文件提供服务,函数linkinfo()提供有关链接的信息


但最有可能的情况是,您需要明确允许Apache或您正在使用的任何服务器遵循符号链接,该符号链接可以是dyne,Apache中的
选项遵循符号链接
指令。

为了给您一个确切的答案,我需要了解有关如何提供文件的更多信息。 为什么会涉及php?文件不是由Web服务器提供的吗?您是重定向到它,还是从打印位置将它读入php脚本中的内存

但我可以告诉你

在大多数情况下,PHP会将符号链接作为文件处理,并且不会为链接后面的文件提供相同的服务

php函数is_link()用于检查资源指针是否为链接, 函数readlink()为链接后面的文件提供服务,函数linkinfo()提供有关链接的信息


但最有可能的情况是,您需要明确地允许Apache或您正在使用的任何服务器遵循符号链接,而在Apache中,符号链接后面的
选项可以是dyne,不带
指令。

是的,符号链接后面的选项似乎可疑。谢谢Joe。在传递了一些
header()
参数:
readfile(readlink(“path/to/symlink”))之后,我最终通过使用这一行读取文件来解决这个问题我尝试使用Apache配置开关,但没有效果。那么它现在可以工作了,还是您仍然有问题?如果是这样的话,我可以有一个解决方案,请将您的apache日志级别设置为调试并将输出发送给我们…是的,下面的选项Symlinks看起来可疑谢谢Joe。在传递了一些
header()
参数:
readfile(readlink(“path/to/symlink”))之后,我最终通过使用这一行读取文件来解决这个问题我尝试使用Apache配置开关,但没有效果。那么它现在可以工作了,还是您仍然有问题?如果是这样的话,我可以有一个测试,请将您的apache日志级别设置为调试,并将输出发送给我们。。。