2012-12-13 192 views
0

我可以在我的符號鏈接上找到一個眼球嗎?符號鏈接目錄

我試圖從一個目錄下載文件,而該文件實際存在於另一個目錄中。

我已經得到了實際的文件,並在單獨的子目錄中的符號鏈接,但都駐留在公共HTML(都可網絡訪問)。

我已通過直接轉到文件來驗證我的(共享Linux)服務器上的文件和文件位置。

正在創建的鏈接(我用的readlink,is_link和linkinfo),我可以看到它時,我FTP有。

我相信我可能只是具有目錄結構的一種誤解。

我把文件在這裏:./testdownload/

我把符號鏈接在這裏:./testDelivery/

<?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-400MB文件))

+3

您使用的是Apache嗎?如果是這樣,是否設置了['Options + FollowSymLinks'](http://httpd.apache.org/docs/2.2/mod/core.html#options)? – duskwuff

+0

是選項+ FollowSymLinks設置爲 這對我來說只是莫名其妙。 我不能說我的語法(在上面的例子中)是錯誤的,或者(某種程度上)符號鏈接不工作。 – jwynn

+0

上面的代碼一定有問題。 我已經嘗試過三次(全部共享)服務器,並且每次都失敗。 它會產生一個404錯誤...儘管我可以看到FTP應用程序中的符號鏈接。 – jwynn

回答

0

我的問題(出現)將不提供絕對路徑符號鏈接。

我已經添加了絕對路徑下方相同的代碼上面,給工作副本:

<?php 
$absolutepath = ($_SERVER['DOCUMENT_ROOT']); 
$fileName = "testfiledownload.zip";//Name of File 
$fileRepository = "/testdownload/";//Where the actual file lives 
$downloadDirectory = "/testDelivery/";//Where the symlink lives 
unlink($absolutepath .$downloadDirectory . $fileName); // Deletes any previously exsisting symlink (required) 
symlink($absolutepath . $fileRepository . $fileName, $absolutepath. $downloadDirectory . $fileName); 
$checkLink = ($absolutepath . $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> 

這個原來的職位,是重複的(雖然我沒有看到它到現在爲止) Create a valid symlink for PHP file (但是,針對該問題給出的大部分答案都是錯誤的,但是原始海報發現它並且對我也有效)

相關問題