2013-03-31 24 views
0

我正在UNIX上使用php,我試圖從瀏覽按鈕中獲得一個真正的路徑。 我試圖用如何從瀏覽按鈕找到真正的路徑按鈕php/unix

echo $_FILES['nom_du_fichier']['temp_name'] 

,但我只是臨時路徑。

+0

你試過[真實路徑()](http://us3.php.net/realpath )?另外,不太清楚你想要做什麼。您是否試圖在服務器上查找客戶端路徑或文件路徑? –

+0

是的,我使用它,但它沒有奏效。正如在nexxt postt中所說的,它是一個安全問題:(尤其是瀏覽器不能做這個東西,我們只能得到服務器的路徑而不是本地路徑。thx爲你的答案:D – user2220548

+0

相關:http:///stackoverflow.com/questions/9301563/html5-get-file-path –

回答

0

正常情況下,您無法在$ _FILES變量中獲取系統路徑。因爲PHP的$ _FILES變量總是包含從HTML頁面上傳到Web服務器的文件的信息。

你沒有得到客戶機文件路徑的位置的原因是安全性。只是認爲你是網站用戶的常見場景。所以你永遠不希望你的內部文件結構被披露。在所有現代瀏覽器中,他們甚至不使用JavaScript公開客戶端位置。

如果你真的需要完整的文件的位置,從客戶端的瀏覽器,那麼你需要使用閃光燈或動作腳本創建形式

+0

好吧,我會試着用fflash。謝謝你的回答 – user2220548

0

$_FILES數組中給出的tmp_name就是這樣的:在服務器的文件系統上爲上傳的文件生成一個故意臨時名稱。如果你想保留它,你必須將文件自己移動到服務器上的最終目的地。

move_uploaded_file()是你最好的選擇。它具有保護功能,可以確保它不會對通過PHP處理的POST請求未真正上傳的文件起作用。

如果您想要在用戶的文件系統(即用戶硬盤驅動器上文件的位置)上獲取文件的完整路徑,則瀏覽器不會將該信息發送到服務器。你需要使用一些客戶端腳本來實現這一點。但是我無法想象爲什麼這些信息對於一個Web應用程序來說是有用的。