我在服务器上有一个名为' file.pdf'的文件。我无法像这样直接访问它:
servername.com/file.pdf
,
因为它位于servername.com重定向到的文件夹的上一级。
我需要使用php来获取文件然后输出,所以它看起来像这样:
servername.com/get_file.php?filename=file.pdf
这是我尝试过的,然而,它不起作用:
<?php
$filename = $_GET['filename'];
header('Location: ../seedbox/downloads/knygos' . $filename);
?>
有关如何访问该文件的任何解决方案?
答案 0 :(得分:2)
在你的&#34;解决方案&#34;你再次犯同样的错误。您再次尝试通过位于Web根目录下的HTTP直接访问文件(公用文件夹,httpdocs,...)。
您已经在提出正确的解决方案,即使用PHP获取文件并提供服务但是您没有这样做。您有两个主要解决方案:
将文件移至公共位置
在这里,您可以使用PHP动态地永久性地将文件位置更改为mysite.com/downloads/file.pdf
或copy:
copy('../files/file.pdf', 'downloads/file.pdf');
即时提供文件
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=file.pdf");
readfile('../files/file.pdf');