2013-02-16 31 views
0

我一直在尋找了幾個小時。回答這個問題,雖然有數百它的帖子,我也沒有特別找到答案我的問題外...鏈接到文件的Web根

我創建了一個網站,人們可以下載條形碼包的zip文件。最初,我使用web根目錄下的customers/codes文件夾創建了該網站。我創建的zip文件與此:

$_SERVER['DOCUMENT_ROOT'].'/speedy/customers/codes/' 

,輸出'/var/www/html/speedy/customers/codes/'

完成網站我的客戶已經決定,他不希望任何人,但在用戶登錄到能夠訪問他們的文件後。所以我認爲用最少的主要系統更改最簡單的方法是將客戶/代碼文件夾移動到Web根目錄的外部。

所以我做在/ var /網絡/客戶/碼

如何鏈接到這些文件的網站根目錄外的文件嗎?我嘗試了幾件事,沒有任何工作。我試過這個......

'../../'.$_SERVER['DOCUMENT_ROOT'].'/customers/codes/'; 

......但它實際上回應出「../」。

這是我的代碼生成壓縮文件的一部分。我需要鏈接到/ var/www/customers/codes

system('/usr/bin/zip -j ' . $_SERVER['DOCUMENT_ROOT'].'/speedy/customers/codes/'.$order_id.'.zip ' . escapeshellarg($_SERVER['DOCUMENT_ROOT'].'/speedy/certificates/'.$order_id.'-certificate.pdf')); 
+0

你爲什麼不只是使用.htaccess保護目錄密碼? – 2013-02-16 19:50:27

回答

2

您可以按照文件系統上顯示的那樣編寫路徑。在你的情況下:

system('/usr/bin/zip -j ' . '/var/www/customers/codes/'.$order_id.'.zip ' . escapeshellarg($_SERVER['DOCUMENT_ROOT'].'/speedy/certificates/'.$order_id.'-certificate.pdf')); 
+0

好吧,幾乎在那裏,我唯一的問題是,我如何鏈接到客戶端帳戶的這個文件?我不能做href =「/ var/www/customers/codes/68454354.zip' – 2013-02-16 19:18:41

+0

你需要創建一個php腳本來檢索文件的內容並輸出它:href =」getCodeZip.php?code = 68454354「。 – dethtron5000 2013-02-16 19:24:38

+0

謝謝你把我放在正確的軌道上,我只是把客戶/代碼目錄留在了webroot中,並用htaccess文件阻止了所有訪問,然後我在腳本中加密了訂單ID並將其發送給一個函數解密訂單ID併爲其提供文件。謝謝! – 2013-02-16 23:03:06