2012-12-07 62 views
0

我使用wampserver我的電腦上,並寫了一個簡單的HTML表單:HTML表單和PHP

<form name="test" action="upload_file.php" method="post"> 
<label for="file">Filename:</label> 
<input type="file" name="picurl" id="file" ><br> 
<input type="submit" name="submit" value="Submit" > 
</form> 

當我點擊「瀏覽」,打開一個文件,例如pil.png它顯示輸入textarea的完整路徑(C:\ Users \希望\桌面\圖像\ pil.png) 我想這個確切的鏈接保存,但當我試圖趕上它$ name = $ _POST [「名稱」];它只顯示這 - 「pil.png」不是完整的路徑。爲什麼?

+0

你會怎麼來的完整路徑的服務器上做開始與? – deceze

+0

o.k很好的問題,我只是想在我的計算機中安排所有圖像,而我在練習html css php等時需要某個項目。 – tali

+0

謝謝大家,我想我會嘗試不同的方法。 – tali

回答

1

瀏覽器沒有提交完整路徑,因爲這會是一個隱私問題,您會將文件系統結構暴露給服務器。它與服務器無關,服務器不需要知道文件位於客戶端文件系統的哪個位置。

4

您無法獲取完整的本地文件路徑。只有文件數據本身及其名稱被提交給服務器。輸入元素中顯示的文件路徑只是視覺樣式,沒有功能。

由於安全原因,文件元素非常有限,這是件好事。

+0

安全的原因,即使圖像和wampserver在同一個計算機上? – tali

+0

瀏覽器安全性是瀏覽器安全性。沒有例外。 – deceze

+0

我的意思是關閉計算機 – tali

-2

由於您不需要路徑,因此只能獲取file_name。

得到充分的路徑,你必須使用

public string SplFileInfo::getRealPath (void) 
+0

返回布爾值false – tali

-2

嘗試

var_dump($_FILES['picurl']); 
+0

var _dump與?相同? \t echo「

"; \t print_r($picurl); \t echo "
」; – tali