我能看看我的符号链接吗?
我试图从一个目录下载文件,而该文件实际上存在于另一个目录中。
我已经在单独的子目录中得到了实际的文件和符号链接,但两者都驻留在公共html中(两者都是Web可访问的)。
我已经通过直接访问文件验证了我的(共享Linux)服务器上的文件和文件位置。
链接正在创建(我使用了readlink、is_link和linkinfo),当我通过FTP连接时可以看到它。
我相信我可能只是对目录结构有误解。
我把文件放在这里:./测试下载/
我把符号链接放在这里:./测试交付/
<?php
$fileName = "testfiledownload.zip";//Name of File
$fileRepository = "./testdownload/";//Where the actual file lives
$downloadDirectory = "./testDelivery/";//Where the symlink lives
unlink($downloadDirectory . $fileName); // Deletes any previously exsisting symlink (required)
symlink($fileRepository . $fileName, $downloadDirectory . $fileName);
$checkLink = ($downloadDirectory . $fileName);
if (is_link($checkLink))
{
echo ("<br>Symlink reads: " .readlink($checkLink) . "<br>");
echo ("<br>LinkeInfo reads: " . linkinfo($checkLink));
}
?>
<p><a href="<?php echo ("/testDelivery/" . $fileName); ?>"</a>SymLink</p>
<p><a href="<?php echo ("/testdownload/" . $fileName); ?>"</a>regular link</p>
在我看来一切正常......但链接不起作用。帮助?
最终,我将把源数据放在公共区域之外......这只是为了测试。
(我正在寻找一个更好的下载解决方案,而不是将fread分块,因为连接不好会失败。(200- 400 MB文件))
1条答案
按热度按时间hc8w905p1#
我的问题(似乎)是没有提供符号链接的绝对路径。
我已经将下面的绝对路径添加到上面的代码中,以给予一个工作副本:
这个原始的帖子,是一个副本(虽然我没有看到它,直到现在)Create a valid symlink for PHP file(大多数的答案给这个问题是错误的,但是-但原始的海报想通了,它为我工作了)