2012-09-23 53 views
0

我現在在使用OpenSuse 12.2。要了解和測試的PHP代碼中,我使用public_html目錄在我家目錄:/家庭/ WOJTEK /的public_html /我訪問通過以下方式項目文件:move_uploaded_file和主目錄中public_html目標的相對路徑?

http://localhost/~wojtek/projects/foo/bar.php 

但我不知道如何讓move_uploaded_file工作。服務器根目錄是/ srv/www。我將upload_tmp_dir設置爲/ srv/www/tmp(我真的不知道應該到哪裏)。

當我設置move_upladed_file的目的地/ SRV /網絡/圖片,文件降落在那裏。但我想使用public_html文件夾,因爲我將所有文件保留在那裏。

例如具有: 的public_html /項目/富/ 的public_html /項目/富/ bar.php 的public_html /項目/富/圖像/ baz.jpg

我可以以某種方式使用相對目的地(」 bar.php中move_uploaded_file的圖像/')?這樣我就可以像bar.php一樣在IMG標記中訪問圖像了嗎?

很抱歉,如果這聽起來有點亂,但我是新來的PHP。

回答

0

不,你將無法從/home/wojtek/public_html/projects/foo/bar.php網頁訪問/srv/www/images文件夾。

編號建議要麼

1)設置move_uploaded_file/home/wojtek/public_html/projects/foo/images

或使用符號鏈接從您的public_html文件夾訪問的圖像文件夾

2):

cd /home/wojtek/public_html/projects/foo 
ln -s /srv/www/images/ 

然後它會出現圖像存儲在/home/wojtek/public_html/projects/foo/images,但他們實際上仍然是這裏/srv/www/images

其可能會遇到使用此方法的權限問題,但是

+0

謝謝。由於服務器根目錄是/ srv/www,我認爲/ home/wojtek超出了它的範圍。另一方面,服務器知道我的家庭目錄中的public_html,因爲我訪問它如下localhost /〜wojtek/projects/foo/bar.php。是否可以這樣做:PATH_TO_THE_CURRENT_SCRIPT。 '圖像/'還是有點類似? – wryrych

+1

是的,你可以做到這一點。 '$ _SERVER [「DOCUMENT_ROOT」]'將解析爲apache爲該站點定義的目錄 - 在您的情況下爲'/ home/wojtek/public_html /'。 – Hank

+0

所有信息,如果你需要它:http://php.net/manual/en/reserved.variables.server.php – Hank